如果特定列中没有特定值,则插入MySQL

时间:2011-10-14 19:14:05

标签: mysql

我读了一些关于堆栈溢出的解决方案,发现这是最接近我的问题:

MySQL "good" way to insert a row if not found, or update it if it is found

基本上,我正在创建一个单词索引(来自网站),我的一个表只是一个主键(整数id)和一个varchar(35)单词。

我需要能够尝试在此表中插入一个新条目(基本上是一个新单词)。如果该单词不存在,将添加带有该单词的新记录。如果它存在,什么都不会发生。

获得此功能的最佳方法是什么? “REPLACE INTO”更改了我的键,这是不可取的 - 如果mysql发现该单词已经在数据库表中,我只是喜欢它是无操作。

2 个答案:

答案 0 :(得分:2)

假设你在这个单词上有一个唯一的键 - 使用insert ignore可能会成功。

答案 1 :(得分:1)

我想到的是

if not exists(Select 1 from <Table> where word = 'theWord')
Begin
  --//do your insert
End

现在这是在Sql Server中所以我不确定MySql的差异。如果这有帮助,请告诉我。