【发布时间】:2020-10-03 14:55:24
【问题描述】:
我制作了一个 NodeJS 脚本,可以将数据插入 MariaDB 数据库。我首先在本地 PC 和 XAMPP 上对此进行了测试。一切都很好。然后我将所有内容上传到我的服务器。现在每次我尝试执行查询时脚本都会崩溃。总是有同样的错误说:
错误:ER_PARSE_ERROR:您的 SQL 语法有错误;检查 与您的 MariaDB 服务器版本相对应的手册 在“不存在的地方”附近使用的语法(从不和谐的地方选择 * ID = '372444687497297920'); SELECT ' 在第 1 行
这是查询的方式:
var sql = "insert into discord (ID) Select ? Where not exists(select * from discord where ID = ?); UPDATE discord Set Money = ? WHERE ID = ?";
var inserts = [id, id, amout, id];
sql = mysql.format(sql, inserts);
con.query(sql, function (err, result) {
if (err) throw err;
以下是有关服务器的一些附加信息:
XAMPP-服务器:
服务器类型:MariaDB
服务器版本:10.4.11-MariaDB - mariadb.org 二进制分发
Protokoll 版本:10
“真实服务器”
服务器类型:MariaDB
服务器版本:10.3.22-MariaDB-0+deb10u1 - Debian 10
Protokoll 版本:10
【问题讨论】:
-
也许我们可以重新开始。你想做什么?
-
我正在尝试将数据插入一行。但首先我想检查是否已经创建了这一行。如果不是,我想先创建行。
-
如果其他人创建行而你正在检查?
-
我不认为这是一个需要考虑的情况,因为只有一个用户连接到我的 skrip 数据库。
-
显示替换“?”后的sql。问题似乎就在那里。
标签: mysql sql node.js syntax mariadb