次の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) ;
連絡先の基本的な表があります。フィールドは、他のテーブルにリンクID番号が含まれています。network_id
network_contact_id
INSERT IGNORE
このテーブルに対してクエリを実行できるようにしたいのですが、network_id
との組み合わせを、network_contact_id
照合する一意のキーとして使用したいと考えています。
したがって、たとえば、network_id = 4
andが含まれる連絡先を挿入しようとした場合network_contact_id = 12
、INSERT IGNORE
クエリはそのエントリがすでに存在することを確認し、スローされたエラーを無視します。
だから、基本的にnetwork_id
は、一意ではありません。network_contact_id
ユニークではありません。しかし、この2つの組み合わせは独特です。どうすれば設定できますか?他の2つのフィールドを連結した値である他の1つのフィールドが必要ですか?または、このテーブルのキーを設定して、必要なことを行う方法はありますか?