Mysql 是否为两个值插入重复密钥更新?
我的Mysql 是否为两个值插入重复密钥更新?,mysql,duplicates,Mysql,Duplicates,我的save_列表表包含三列: id, user_id, item_id 质疑 如果用户标识和项目标识都存在,我如何使用在重复密钥更新时插入来更新行 工作代码 INSERT INTO save_list (user_id, item_id) VALUES (?,?) ON DUPLICATE KEY UPDATE user_id = ?, item_id = ? 在它们之间创建一个唯一的复合键 ALTER TABLE tblName ADD UNIQUE unique_index777 (u
save_列表
表包含三列:
id, user_id, item_id
质疑
如果用户标识
和项目标识
都存在,我如何使用在重复密钥更新时插入
来更新行
工作代码
INSERT INTO save_list (user_id, item_id) VALUES (?,?) ON DUPLICATE KEY UPDATE user_id = ?, item_id = ?
在它们之间创建一个唯一的复合键
ALTER TABLE tblName ADD UNIQUE unique_index777 (user_id,item_id);
您需要将这两个字段定义为复合键,以使更新生效
INSERT INTO foo_table(user_id, item_id, description) ft values (a,b,desc)
ON DUPLICATE KEY UPDATE ft.description=desc
这个问题是相关的:好的。。。添加了它,但我将如何使用它?一旦添加了它,就可以使用
INSERT-in。。在重复密钥更新时
。我刚才给出了一个答案,它将为您提供指向文档的链接等。$q=$this->db->mysqli->prepare(“在重复密钥更新时插入保存列表(用户id,项目id)值(?))代码>像这样?@DrewPierce并不想从你的答案中抢走风头,但我最近才给出了这个答案,所以我的脑海中充满了新鲜的东西。哈哈。我没有多少风头@McAdam331
INSERT INTO foo_table(user_id, item_id, description) ft values (a,b,desc)
ON DUPLICATE KEY UPDATE ft.description=desc