有没有办法进行INSERT但是在DUPLICATE KEY而不是更新上做SELECT?
答案 0 :(得分:2)
不在一个查询中,但您可以运行INSERT IGNORE <xxx>
,然后SELECT <xxx>
。 IGNORE
使其忽略任何会触发重复键错误而不是停止的行。
答案 1 :(得分:1)
没有。您必须注意重复的密钥错误,然后发出SELECT
查询。
如果存在INSERT
和UPDATE
查询意图修改数据而SELECT
返回结果集,则存在问题。各种驱动程序/接口以不同的方式处理这些情况。