【发布时间】:2011-04-15 03:53:22
【问题描述】:
我从 mysql_error() 中得到以下信息:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 -->'assets' ('assetid' INT UNSIGNED NOT NULL AUTO_INCREMENT , PRIMARY KEY('assetid'
我也尝试过这样的事情:
'assets' ('assetid' INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
...但没有运气。 mysql版本是5.0.7。
编辑:
其实我已经试过了,先不带 (') 再放。代码是动态的,但这些是示例:
CREATE TABLE 'assets' (
'assetid' INT UNSIGNED NOT NULL AUTO_INCREMENT,
PRIMARY KEY('assetid'),
'rfid' VARCHAR( 128 ) ,
'createddate' DATE ,
'modifieddate' DATE ,
'curlocid' INT( 11 ) ,
'type' VARCHAR( 128 ) ,
'brand' VARCHAR( 128 ) ,
'name' VARCHAR( 128 ) ,
'condition' VARCHAR( 128 )
);
编辑 2:
刚才我尝试用反引号(`)更改所有单引号(')..发生其他错误..
无法创建表“mydb.assets”(错误号:121)
这是更好还是更糟?
编辑 3:
我尝试使用不同的表名创建它,你猜怎么着?有用!天哪,为什么我不能创建表名“资产”?是因为之前的操作有一些剩菜吗??如果是这样我怎么清理它??如果我说我通过删除它的文件来删除表怎么办??(frm,myd,myi)(不删除它,由于懒惰)..我该如何解决?
【问题讨论】:
-
我们能否看到您尝试运行的完整查询,虽然该错误非常有用,但我们仍需要查看查询的其余部分;
-
你说代码是动态的,这是否意味着 assets 和 assetsid 是示例名称,如果是,那些示例实际上是错误的,还是你只是编造了一个?
-
assetid 直到 curlocid 被预定义。其他是用户输入的值。我给出的例子是产生错误的例子。我在 mysql_error 旁边输出查询..
标签: php mysql sql mysql-error-1064 mysql-error-1005