MySQL tb_uq重复行没有致命错误输出

时间:2014-11-04 04:45:17

标签: php mysql

ALTER TABLE purchase ADD CONSTRAINT tb_uq UNIQUE (item_id, user_id)

INSERT INTO purchase (item_id, user_id, time) VALUES (:item_id, :user_id, :time)

我有一个表item_iduser_idtime

item_id& user_id将是唯一的(用户只能购买一次项目)

如果用户单击按钮并再次加载此SQL,则会导致Fatal Error因为行已存在。

我的问题是我不希望在count(*)之前使用额外查询INSERT,所以无论如何只是忽略它并避免Fatal Error而无需额外查询?

1 个答案:

答案 0 :(得分:1)

你可以做到

INSERT IGNORE INTO purchase (item_id, user_id, time) VALUES (:item_id, :user_id, :time)