我读了一些关于堆栈溢出的解决方案,发现这是最接近我的问题:
MySQL "good" way to insert a row if not found, or update it if it is found
基本上,我正在创建一个单词索引(来自网站),我的一个表只是一个主键(整数id)和一个varchar(35)单词。
我需要能够尝试在此表中插入一个新条目(基本上是一个新单词)。如果该单词不存在,将添加带有该单词的新记录。如果它存在,什么都不会发生。
获得此功能的最佳方法是什么? “REPLACE INTO”更改了我的键,这是不可取的 - 如果mysql发现该单词已经在数据库表中,我只是喜欢它是无操作。
答案 0 :(得分:2)
假设你在这个单词上有一个唯一的键 - 使用insert ignore
可能会成功。
答案 1 :(得分:1)
。
if not exists(Select 1 from <Table> where word = 'theWord')
Begin
--//do your insert
End
现在这是在Sql Server中所以我不确定MySql的差异。如果这有帮助,请告诉我。