sql中的IF语句搜索字符串

时间:2018-11-29 10:49:28

标签: mysql

你好,我正在尝试进行mysql查询,以查找mysql数据库中的表上是否存在特定字符串,如果不存在,则添加它。但我的查询似乎无法正常工作,我在网上找不到任何东西。 (也许在mysql中做这种事情不太可能,或者我做错了)

IF ( SELECT word FROM words WHERE word = 'hello' ) THEN
BEGIN select * from word;
END;
ELSE
BEGIN INSERT INTO TABLE word VALUES ('hello');
END;
END IF;

提前

2 个答案:

答案 0 :(得分:2)

您可以将INSERTEXISTS子句一起使用:

INSERT INTO yourTable (word)
SELECT 'word' FROM dual
WHERE NOT EXISTS (SELECT 1 FROM yourTable WHERE word = 'word');

您可能还想研究诸如唯一性约束(例如word列上的唯一性约束)或upserts之类的东西,如果发现记录已经存在,它们可以进行更新。

答案 1 :(得分:0)

也许您可以尝试以下方法:

INSERT INTO `tablename` (`word`) 
VALUES ('hello')
WHERE NOT EXISTS (
    SELECT * 
    FROM `words`
    WHERE `word` = 'hello'
);