因此,我一直在运行一个.js应用程序,该应用程序可以存储和更新游戏和Discord机器人上的数据库。到目前为止,我一直在使用以下SQL查询来添加/更新数据,但是我一直在寻找一种仅在$ {user.id}在数据库中不存在时进行更新的方法。
Version: 1.35.1 (system setup)
Commit: c7d83e57cd18f90026a8162d042843yui1bcf27m
Date: 2019-06-12T15:16:14.389Z
Electron: 3.1.8
Chrome: 66.0.3359.181
Node.js: 10.2.0
V8: 6.6.346.32
OS: Windows_NT ia32 10.0.17134
我在这里看到了其他一些示例,但是我无法在项目中正确实现它(出错或根本没有用)
更确切地说,我需要做的是:
检查$ {user.id}是否已在数据库中。 如果是这样,请勿插入任何内容。
如果$ {user.id}不在数据库中,则应插入$ {user.id}并将所有其他变量设置为1。
答案 0 :(得分:1)
您可以使用MySQL的 INSERT IGNORE 功能:
INSERT IGNORE INTO usermine
(userID, mineCOOLDOWN, coal_mine, silver_mine, gold_mine, diamond_mine)
VALUES( ${user.id}, 1, 1, 1, 1, 1)
答案 1 :(得分:0)
因此,我一直在运行.js应用程序,该应用程序用于存储和更新数据库 游戏和不和谐的机器人。到目前为止,我一直在使用 以下SQL查询添加/更新数据,但我一直在寻找 仅在数据库中不存在$ {user.id}时更新的方式。
您是说表中不存在?
我认为您需要创建将id列设置为唯一的表。因此,尝试插入具有相同ID的操作只会失败。
例如
创建表人员( userID int NOT NULL UNIQUE, mineCOOLDOWN int NOT NULL, coal_mine int, silver_mine int, gold_mine int, diamond_mine int );