【发布时间】:2019-10-02 06:31:02
【问题描述】:
我目前正在使用 CockroachDB,需要批量插入商店类别代码。
这是我当前的表架构
CREATE TABLE storecategorycode(
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
isenabled BOOLEAN NOT NULL
);
CREATE TABLE storecategorycodeml(
id UUID PRIMARY KEY DEFAULT
gen_random_uuid(),
storecategorycode_id UUID NOT NULL,
category1 VARCHAR(255) NULL,
category2 VARCHAR(255) NULL,
category3 VARCHAR(255) NULL,
category4 VARCHAR(255) NULL,
category5 VARCHAR(255) NULL,
lang VARCHAR(25) NOT NULL,
CONSTRAINT storecategorycodeml_ibfk_1 FOREIGN KEY (storecategorycode_id)
REFERENCES storecategorycode(id) ON DELETE CASCADE
);
storecategorycodeml(“ml”代表“多语言”)依赖于 storecategorycode_id 外键。
我如何插入这样的东西?
INSERT INTO storecategorycodeml
(storecategorycode_id, category1, category2, category3, category4, category5, lang)
VALUES (
INSERT INTO storecategorycode(isenabled) VALUES(true)
RETURNING id,'Restaurant','Restaurant-1','Cafe','In-store','takeout','en'
);
'RETURNING id' 是 cockroachDB 中用于返回插入的 id 的语法。
我可以创建一个脚本来手动先在 storecategorycode 中创建记录,然后在 storecategorycodeml 中创建记录,但我将插入数千条记录,我不想手动编写这些代码。
仅供参考,我之所以有单独的表格是为了支持多语言。例如,我可以有一个 storecategorycode(001, true),而 001 可以有多种语言,例如英语、韩语、中文等。
【问题讨论】:
标签: sql relational-database cockroachdb