【问题标题】:SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to useSQL 语法;检查与您的 MariaDB 服务器版本相对应的手册,以了解要使用的正确语法
【发布时间】:2019-11-28 05:26:52
【问题描述】:

我在执行 UPDATE 语句时遇到问题。

UPDATE vehicles2 SET limit = @newlimit WHERE model = @vehiclenew

错误:

ER_PARSE_ERROR:您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的 'limit = 1 WHERE model = 'crf450r'' 附近使用正确的语法

谁能帮帮我?

【问题讨论】:

  • 请分享表结构
  • 请试试这个解决方案,让我知道它是否适合你。

标签: sql mariadb heidisql


【解决方案1】:

LIMIT 是保留的 MariaDB/MySQL 关键字,因此如果您的 vehicles2 表确实有一个具有此名称的列,您将不得不使用反引号将其转义:

UPDATE vehicles2
SET `limit` = @newlimit
WHERE model = @vehiclenew;

这里最好的解决方法是实际上调用您的列/表/等。使用关键字。将 limit 更改为其他内容。

【讨论】:

    【解决方案2】:

    Limit 是一个保留关键字,用于限制要在查询中返回的记录数。如果您的表中有一个名为 LIMIT 的列,或者任何其他与关键字匹配的名称,则必须在列名周围使用限定符,以便数据库引擎知道它实际上是列名而不是关键字。 将您的列名包裹在反引号周围,它应该可以工作。

    UPDATE vehicles2 SET `limit` = @newlimit WHERE `model` = @vehiclenew
    

    【讨论】:

      【解决方案3】:

      请尝试下面的代码,如果仍然有任何问题,请告诉我。

      DECLARE @newlimit INT,
      @vehiclenew VARCHAR(100)
      SET @newlimit= put your values here ,
      @vehiclenew='put Your values'
      UPDATE vehicles2
      SET `limit` = @newlimit
      WHERE `model` = @vehiclenew
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-06-17
        • 2017-02-11
        • 1970-01-01
        • 1970-01-01
        • 2016-11-08
        • 1970-01-01
        • 2021-05-12
        相关资源
        最近更新 更多