看看下面的sqlfiddle:http ://sqlfiddle.com/#!2/dacb5/1
CREATE TABLE contacts
(
id int auto_increment primary key,
name varchar(20),
network_id int,
network_contact_id int
);
INSERT INTO contacts
(name, network_id, network_contact_id)
VALUES
('John', 4, 10),
('Alex', 4, 11),
('Bob', 4, 12),
('Jeff', 4, 45),
('Bill', 7, 11),
('Walter', 7, 45),
('Jessie', 7, 360) ;
我有一个基本的联系表。该network_id
和network_contact_id
字段包含链接到其他表的ID号码。
我希望能够运行INSERT IGNORE
查询,此表,但我想用的组合network_id
,并network_contact_id
作为唯一键来匹配。
因此,例如,如果我尝试插入具有network_id = 4
和的联系人network_contact_id = 12
,则INSERT IGNORE
查询将看到该条目已存在,并忽略引发的任何错误。
所以基本上,network_id
不是唯一的。network_contact_id
不是唯一的。但是两者的结合是独特的。我该如何设置?我是否需要一个其他字段作为其他两个字段的串联值?还是有一种方法可以为此表设置键,以便它可以执行我需要的操作?