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_id
,user_id
,time
item_id
& user_id
将是唯一的(用户只能购买一次物品(
如果用户单击按钮并再次加载此 SQL,则会导致Fatal Error
,因为行已经存在。
我的问题是我不想在INSERT
之前使用额外的查询来count(*)
,那么无论如何都可以忽略它并避免在没有额外查询的情况下Fatal Error
?
你可以做
INSERT IGNORE INTO purchase (item_id, user_id, time) VALUES (:item_id, :user_id, :time)