我正在创建一个机器人,我需要将commandname
和commandreply
存储在数据库中。我正在使用mySQL Workbench。
我想检查用户尝试制作的commandname
是否已经在表中,如果是,则显示该表。如果没有,则继续(发出命令)。
connection.query("SELECT commandname FROM commands WHERE EXISTS (commandname = " + args[0] + ")"
(其中args[0]
是命令名称)。这是我最初的想法,虽然我没有太多的SQL经验。我不确定如果它存在,或者它不存在,它会显示什么。
答案 0 :(得分:2)
SELECT count(*) FROM commands WHERE commandname = ' + args[0] + '
如果返回0,则插入else update。
更好的方法是首先更新并查看有多少行如果为0则更新然后插入,在这种情况下,它大多数时间只运行1个查询(假设更新比插入更频繁)。