如果MySQL数据库中不存在数据,请插入数据;

时间:2019-07-07 18:46:04

标签: javascript mysql

因此,我一直在运行一个.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。

2 个答案:

答案 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 );