MYSQL查询错误

时间:2011-07-03 05:42:08

标签: mysql

这段代码有问题吗?我正在运行MYSQL 5我一直收到这个错误:

  

您的SQL语法有错误;查看与您的MySQL对应的手册   在'desc BLOB附近使用正确语法的服务器版本,查看BLOB,url BLOB)'

这是我的疑问:

mysql_query("CREATE TABLE videos(
                id INT NOT NULL AUTO_INCREMENT, 
                PRIMARY KEY(id),
                title VARCHAR(50),
                desc BLOB,
                review BLOB,
                url BLOB
            )
") or die(mysql_error());

我看起来不错。起初我以为它是“BLOB”数据类型,但后来我尝试了“TEXT”,它仍然搞砸了,所以我不太确定。

3 个答案:

答案 0 :(得分:5)

desc保留关键字,您需要将其转义:

mysql_query("CREATE TABLE videos(
                id INT NOT NULL AUTO_INCREMENT, 
                PRIMARY KEY(id),
                title VARCHAR(50),
                `desc` BLOB,
                review BLOB,
                url BLOB
            )
")or die(mysql_error());

有关保留关键字的完整列表,请参阅8.3. Reserved Words

答案 1 :(得分:1)

desc是MySQL的保留关键字,你应该用反引号覆盖它:

CREATE TABLE videos (
id INT NOT NULL AUTO_INCREMENT, 
`title` VARCHAR(50),
`desc` BLOB,
`review` BLOB,
`url` BLOB,
PRIMARY KEY  (`id`)
)

答案 2 :(得分:0)

尝试:

mysql_query("CREATE TABLE videos(
                `id` INT NOT NULL AUTO_INCREMENT, 
                PRIMARY KEY(id),
                `title` VARCHAR(50) NULL,
                `desc` BLOB NULL,
                `review` BLOB NULL,
                `url` BLOB NULL
            )
")or die(mysql_error());