mySQL error#:1064 you have an error in your SQL syntax

我用PHP做网站的时间,帮定记录集时
SELECT *
FROM subject
WHERE subjectID=(select subjectID form bbs where cardID=colname)
我测试时出错了:
MySQL Error#: 1064
You have an error in your SQL syntax near 'select subjectID form bbs where cardID=1) ' at line 1
请问这是怎么回事啊?

先确认一下MySQL的版本号,老版本的MySQL 是不支持子查询的;

建议把这里改成两条语句,不仅兼容性能更好,而且速度也要比子查询要快。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-01-06
可能是MYsql和你的语句兼容不太好吧,你换个sql语句不就行了嘛

mySQL error#:1064 you have an error in your SQL syntax
先确认一下MySQL的版本号,老版本的MySQL 是不支持子查询的;建议把这里改成两条语句,不仅兼容性能更好,而且速度也要比子查询要快。

mysql 错误1064
一般提示1064 - You have an error in your SQL syntax;,都是语法的问题 可以通过下面这个方法查看mysql的语法,你的问题在于COLLATE 后没加上参数 mysql> ? create table | CHAR[(length)][CHARACTER SET charset_name] [COLLATE collation_name]| VARCHAR(length)[CHARACTER SET charset_name] [C...

...42000): You have an error in your SQL syntax; check the manual...
create TABLE userclob( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30) NOT NULL , note LONGTEXT);注意符号 错误 userclob { LONGTEXT,

...#1064 - You have an error in your SQL syntax
肯定是编码问题。新建个 .sql 文件,把这个语句复制进去,再导入试试。注意,不要复制源文件的语句,而是贴在这个页面上的。

...#1064 - You have an error in your SQL syntax; check the manual...
把UNIQUE KEY `code` ( `code` ) USING BTREE 改成UNIQUE KEY `code` USING BTREE ( `code` )就好了。主要的问题是,数据库sql文件版本不合

...1064. You have an error in your SQL syntax……
你好,你的语句是没有问题,很正确,根据错误提示应该是你的mysql版本是否支持DROP TABLE IF EXISTS d_product这个语法,不支持的话就是语法错误了。有问题再追问。

...1064 - you have an error in your sql syntax
检查一下你的第4行,有语法错误。如果那个文件是用MYSQL生成的,那么考虑是否复制错误,活着因为编码不同导致无法识别。如果是你自己输入的语句,那么一般是符号错误,比如'和`是有区别的。

...42000): You have an error in your SQL syntax; check the...
你的建表语句错了,多写了一个括号,在(id char(20)),这里多了后半边括号。

mysql#1064 - You have an error in your SQL syntax
MySQL中,如果是MyISAM数据库,AUTO_INCREMENT的起始值不可以在这里定义。首先,创建表:CREATE TABLE `admin` (`id` mediumint(8) unsigned NOT NULL auto_increment,`typer` enum('system','manager','editor') NOT NULL default 'editor',`user` varchar(100) NOT NULL default '',`pass` ...

...#1064 - You have an error in your SQL syntax;
mysql> delimiter \/\/ mysql> create procedure dowhile6()-> begin -> declare i varchar(8) default '10';-> insert into t values(default,'111',i);-> end \/\/ Query OK, 0 rows affected (0.09 sec)--- PS:定义完后,再把分隔符改回去~delimiter ;...

相似回答
大家正在搜