上复制键mysql工作

时间:2011-06-01 18:55:26

标签: mysql insert

我无法让这个工作,

任何人都可以发现问题吗?

INSERT INTO `page_category_link` (page_id,cat_id) 
VALUES ('4','2') 
ON DUPLICATE KEY UPDATE page_id=VALUES('4') AND cat_id=VALUES('2') WHERE id=2
非常感谢

3 个答案:

答案 0 :(得分:4)

INSERT INTO `page_category_link`
(page_id,cat_id) VALUES ('4','2')
ON DUPLICATE KEY UPDATE page_id='4', cat_id='2'

答案 1 :(得分:0)

您想使用VALUES(page_id) AND VALUES(cat_id)。您实际上是在告诉MySQL使用分配给page_idcat_id列的值来更新表。

INSERT INTO `page_category_link` (page_id,cat_id) VALUES ('4','2')
ON DUPLICATE KEY UPDATE page_id = VALUES(page_id) AND cat_id=VALUES(cat_id)

答案 2 :(得分:-1)

这样的东西
INSERT INTO page_category_link (page_id, cat_id) VALUES ('4', '2') ON DUPLICATE KEY UPDATE page_id=page_id, cat_id=cat_id WHERE id=2