【问题标题】:Problems with sql syntax on different servers不同服务器上的sql语法问题
【发布时间】: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


【解决方案1】:

好的。这个问题的解决方案非常简单。只需将您的数据库升级到更高版本。

【讨论】:

    猜你喜欢
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    • 2016-04-04
    • 2019-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多