我的其他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