防止在MySQL重复插入上自动递增

防止在MySQL重复插入上自动递增,第1张

防止在MySQL重复插入上自动递增

您可以将INSERT修改为如下形式:

INSERT INTO tablename (tag)SELECt $tagFROM tablenameWHERe NOT EXISTS(    SELECt tag    FROM tablename    WHERe tag = $tag)LIMIT 1

如果

$tag
您要添加的标签(正确地加上引号,或者当然是占位符)在哪里?如果标签已经存在,则该方法甚至不会触发INSERT(以及随后的自动增量浪费)。您可能会想出比这更好的SQL,但是以上方法可以解决问题。

如果您的表已正确索引,则用于存在性检查的额外SELECT将很快,并且数据库无论如何都将必须执行该检查。

但是,这种方法不适用于第一个标签。您可以在标签表中植入您认为最终将被使用的标签,也可以对空表进行单独检查。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5022265.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存