检查表SQL中是否存在值

时间:2017-04-25 11:57:22

标签: javascript mysql sql node.js

我正在创建一个机器人,我需要将commandnamecommandreply存储在数据库中。我正在使用mySQL Workbench。

我想检查用户尝试制作的commandname是否已经在表中,如果是,则显示该表。如果没有,则继续(发出命令)。

connection.query("SELECT commandname FROM commands WHERE EXISTS (commandname = " + args[0] + ")" 

(其中args[0]是命令名称)。这是我最初的想法,虽然我没有太多的SQL经验。我不确定如果它存在,或者它不存在,它会显示什么。

1 个答案:

答案 0 :(得分:2)

SELECT count(*) FROM commands WHERE commandname = ' + args[0] + '

如果返回0,则插入else update。

更好的方法是首先更新并查看有多少行如果为0则更新然后插入,在这种情况下,它大多数时间只运行1个查询(假设更新比插入更频繁)。