使用具有多个重复条件的“重复密钥”

使用具有多个重复条件的“重复密钥”

问题描述:

我有表格包含问题数据。此外,每个问题都有测试ID,文档ID(dokuman_id),订单(sira)和视频数据。我想创建一个插入新行的查询,如果没有行具有相同的测试ID,文档ID和顺序;其他只是更新视频领域。使用具有多个重复条件的“重复密钥”

enter image description here

我知道我可以对重复键使用,如果我想用ID(primart_key)柱做到这一点。但我需要尽可能控制3个重复色谱柱条件。

+4

指数因此,创建在所有三列的组合唯一索引...? – CBroe

你应该创建test_id , dokuman_id , sira

INSERT INTO table (test_id , dokuman_id , sira , video) 
VALUES(:test_id , :dokuman_id , :sira , :video) 
ON DUPLICATE KEY UPDATE video = :video 
+0

我必须在此之前删除主键吗? – nskmr

+0

不,你不必删除主键,你只需创建另一个索引 – Ali

+0

好的,谢谢你的队友。但我只是不明白数据库如何决定在重复键**上键**。可以有许多键 – nskmr