通用sql语法错误1064

时间:2013-11-12 18:25:36

标签: php mysql

$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服务器版本对应的手册,以便在'desc VARCHAR(255),price VARCHAR(255),image VARCHAR(255),flag VARCHAR(255),da'第2行附近使用正确的语法

不完全是其他人可以使用的问题,但我还应该问其他什么地方?

1 个答案:

答案 0 :(得分:1)

您需要使用反引号{/ 1>来reserved words in MySQL转义desc

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建议不要使用这些保留字作为表名或列名。