因为我是新手,有很多问题都不是很明白,可能对你们来说是些小问题,但希望大家能不吝指教下,嘿嘿。

下面说说关于mysql 新建表却出现 error 1064(42000) 的一个疑问:

CREATE TABLE 'voteopt' (
'ID' smallint(5) NOT NULL auto_increment,
'votename' varchar(100) NOT NULL,
PRIMARY KEY ('ID')
) ENGINE=MYISAM DEFAULT CharSet=Latin1;


当我用上面的sql语言在新的数据库中建表时就会出现下面的错误:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your   MySQL server version for the right syntax to use near ''voteopt' (
'ID' smallint(5) NOT NULL auto_increment,'votename' varchar(100) NO' at line 1


我在网上查了好久也没有找到解决方法。后来当我把上面所有的分号都去掉改成如下:

CREATE TABLE voteopt (
ID smallint(5) NOT NULL auto_increment,
votename varchar(100) NOT NULL,
PRIMARY KEY (ID)
) ENGINE=MYISAM DEFAULT CharSet=Latin1;


却就能建表了。
我想问一下这是为什么呢,因为我刚开始学,可能对你们来说是些小问题,但对我来说却不是太明白,希望你们能帮忙解释下,谢谢了。              

回答:

mysql就是这样子的,对大多数的字段表名都不要加引号,加了引号,它会把它当作字符串来看。        


字段名不能加引号。如果是关键字,加反引号。不过不建议用关键字来定义字段名称。