【问题标题】:generic sql syntax error 1064通用 sql 语法错误 1064
【发布时间】:2013-11-12 18:25:36
【问题描述】:
$products = "CREATE TABLE products (
PID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
productID VARCHAR(255),
articlenr VARCHAR(255),
name VARCHAR(255),
desc VARCHAR(255),
price VARCHAR(255),
image VARCHAR(255),
flag VARCHAR(255),
date VARCHAR(255)
)";

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的 'desc VARCHAR(255), price VARCHAR(255), image VARCHAR(255), flag VARCHAR(255), da' 附近使用正确的语法

不完全是其他人可以使用的问题,但我还应该问哪里?

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    你需要像desc一样用反引号转义reserved words in MySQL

    CREATE TABLE products 
    (
      PID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
      productID VARCHAR(255),
      articlenr VARCHAR(255),
      name VARCHAR(255),
      `desc` VARCHAR(255),
      price VARCHAR(255),
      image VARCHAR(255),
      flag VARCHAR(255),
      date VARCHAR(255)
    )
    

    或者正如@Rocket 建议的那样,根本不要使用表名或列名等保留字。

    【讨论】:

    • 或者更好的是,不要使用desc 作为字段名。
    猜你喜欢
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-02
    相关资源
    最近更新 更多