我有一个包含'node_id'和'language'列的语言表。
|| *nid* || *language* ||
|| 8 || Chinese ||
|| 8 || Portuguese ||
|| 8 || German |
我想在其中插入新语言,但前提是该特定nid还没有类似的语言条目。因此,根据上面的例子,添加nid> 8和语言>中文没有效果。
我该如何做到这一点?是否存在一种类似的查询,或者我应该在插入行之前先检查PHP / MYSQL?
答案 0 :(得分:4)
只需在MySQL数据库中的一对列上放置一个UNIQUE约束。尝试添加重复行的任何查询都将失败。
答案 1 :(得分:1)
您可以使用其中两列来执行唯一键索引:
CREATE TABLE lang
(
nid
INT NOT NULL,
language
VARCHAR(45)NOT NULL,
UNIQUE INDEX index_lang
(nid
ASC,language
ASC));