【发布时间】:2023-03-21 02:19:02
【问题描述】:
在我的数据库中,我有 tickets_users 将用户关联到一张票。
如果还没有这个users_id(例如用户1444)和type = 2 WHERE tickets_id = something(例如票号455),我想做一个INSERT来签入tickets_users;如果它已经存在,则什么也不做,否则
INSERT INTO tickets_users (tickets_id, users_id, type) VALUES (455, 1444, 2)
WHERE tickets_id = 455
【问题讨论】:
-
认为this 可能是您要找的东西?
-
Replace?不过需要注意的是,它与 Oracle 中的
MERGE不同。这是INSERTs 或DELETEs 和INSERTs。 -
tickets_users.id 自动递增,如果类型、tickets_id 和 users_id 匹配,我不想删除旧的,什么都不做,只有在不匹配时才插入
-
你为什么不先把所有你要插入的数据放到一个临时表中。然后使用“不存在”条件插入您的tickets_users。像 INSERT into tickets_users select * from temptable where temptable.tickets_id not in (select ticket_id from ticket_users) 之类的东西
标签: mysql insert conditional-statements