В настоящее время я использую 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 для возврата вставленного идентификатора.
Я могу создать сценарий, чтобы вручную сначала создать запись в storecategorycode и создать запись в storecategorycodeml, но Я буду вставлять тысячи записей , и я предпочитаю не кодировать их вручную.
FYI,причина, по которой у меня есть отдельная таблица, заключается в поддержке нескольких языков. Например, у меня может быть код storecategory (001, true), а 001 может иметь несколько языков, таких как английский, корейский, китайский и т. Д.