我的其他2个表可以建议你另一个桌子的设计。创建languages
表,并修改一下country
表:添加lang_id
字段并创建外键 - FOREIGN KEY(lang_id) REFERENCES语言(id)。然后填写languages
和country
表。
例如:
CREATE TABLE languages(
id VARCHAR(2) NOT NULL,
name VARCHAR(64) NOT NULL,
PRIMARY KEY (id)
) ENGINE = INNODB;
CREATE TABLE country(
id VARCHAR(2) NOT NULL,
lang_id VARCHAR(2) NOT NULL DEFAULT '',
name VARCHAR(64) NOT NULL,
PRIMARY KEY (id, lang_id),
CONSTRAINT FK_country_languages_id FOREIGN KEY (lang_id)
REFERENCES languages (id) ON DELETE RESTRICT ON UPDATE RESTRICT
)
ENGINE = INNODB;
-- Populate languages
INSERT INTO languages VALUES
('en', 'English'),
('de', 'German');
-- Populate names from 'en' table
INSERT INTO country SELECT id, 'en', name FROM country_en;
-- Populate names from 'de' table
INSERT INTO country SELECT id, 'de', name FROM country_de;
...其中country_en
和country_de
是从你的链接表。
你为什么需要它?为什么不使用链接中的'country'表格? – Devart
我需要它在很多语言中用于我设置的多语言网站 – bikey77