我的SQL语法有什么问题?

时间:2010-05-14 18:26:11

标签: php mysql syntax

SQL新手。我正在寻找创建一个IT资产数据库。这是用php创建的表之一:

mysql_query("CREATE TABLE software(
id VARCHAR(30), 
PRIMARY KEY(id),
software VARCHAR(30),
key VARCHAR(30))")
or die(mysql_error());  
echo "Software Table Created.</br />";

这是我运行脚本时浏览器的输出:

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第5行使用“VARCHAR(30)”附近的正确语法

我在Ubuntu Server 10.04上运行标准的LAMP堆栈。

谢谢。

4 个答案:

答案 0 :(得分:9)

键是保留字。如果您确实需要此名称,则应使用引号:

... `key` varchar(30)

答案 1 :(得分:1)

KEY是MySQL中的保留字。尝试为该字段选择其他名称,或将其括在backtick个字符中。

答案 2 :(得分:1)

尝试使用sw_key而不是密钥。也许密钥是一个保留字。

答案 3 :(得分:1)

我也会更改行

id VARCHAR(30),
PRIMARY KEY(id),

id VARCHAR(30) PRIMARY KEY,

使语法更标准