插入两个值的重复键更新?

时间:2015-07-07 19:50:15

标签: mysql mysqli duplicates

我的save_list表包含三列:

id,user_id,item_id

  

查询

"INSERT INTO save_list (user_id, item_id) VALUES (?,?)"

如果同时存在INSERT ON DUPLICATE KEY UPDATEuser_id,如何使用item_id更新行?

  

工作代码

$q = $this->db->mysqli->prepare("INSERT INTO save_list (user_id, item_id) VALUES (?,?) ON DUPLICATE KEY UPDATE user_id = ?, item_id = ?");

2 个答案:

答案 0 :(得分:1)

在它们之间创建唯一的复合键

ALTER TABLE tblName ADD UNIQUE unique_index777 (user_id,item_id);

答案 1 :(得分:0)

您需要将这两个字段定义为组合键,以使更新生效。

INSERT INTO foo_table(user_id,item_id,description)ft值(a,b,desc) ON DUPLICATE KEY UPDATE ft.description = desc

应该做的伎俩