【问题标题】:MYSQL error: A new statement was found but no delimiter between it and the previous oneMYSQL 错误:找到了一条新语句,但它与前一条语句之间没有分隔符
【发布时间】:2021-09-23 06:01:48
【问题描述】:

我正在尝试用这个简单的查询来更新我的专栏:

 UPDATE products SET desc='1' WHERE  1

但我收到此错误消息:找到了一条新语句,但它与前一条语句之间没有分隔符。如果我将 desc 列更改为另一列,则查询正常工作。

我看到THERE 说这是一个错误,我将我的 phpmyadmin 更新到最新版本 5.1,但我仍然收到此错误消息,可能是什么问题?

【问题讨论】:

  • desc是保留字,试试"desc"

标签: mysql sql phpmyadmin


【解决方案1】:

DESC 是一个reserved word in MySQL,用于对查询结果进行排序。

关键字是在 SQL 中具有重要意义的词。某些关键字, 例如 SELECT、DELETE 或 BIGINT,是保留的,需要特殊的 处理用作标识符,例如表名和列名。这 内置函数的名称也可能如此。

允许使用非保留关键字作为标识符而不加引号。 如果您将保留字引用为 在第 9.2 节“Schema Object Names”中描述

正如我在上面强调的那样,如果您想将保留字用作标识符,可以引用它,使用

标识符引号字符是反引号(`)

所以你只需要改变你的查询添加反引号。

UPDATE products SET `desc`='1' WHERE  1;

你可以看一个小例子here

【讨论】:

    猜你喜欢
    • 2016-06-07
    • 1970-01-01
    • 1970-01-01
    • 2021-10-25
    • 2019-02-24
    • 1970-01-01
    • 2021-11-30
    • 2021-06-28
    • 1970-01-01
    相关资源
    最近更新 更多