因为我是新手,有很多问题都不是很明白,可能对你们来说是些小问题,但希望大家能不吝指教下,嘿嘿。下面说说关于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;
却就能建表了。
我想问一下这是为什么呢,因为我刚开始学,可能对你们来说是些小问题,但对我来说却不是太明白,希望你们能帮忙解释下,谢谢了。

解决方案 »

  1.   

    我用的没有说起来版本是:mysql-5.0.51a
      

  2.   

    CREATE TABLE voteopt ( 
    ID smallint(5) NOT NULL auto_increment, 
    votename varchar(100) NOT NULL, 
    PRIMARY KEY (ID) 
    ) ENGINE=MYISAM DEFAULT CharSet=Latin1; 
    这个可以你再试试
      

  3.   

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

  4.   

    不能加引号!!!!!
    如果要加 是加键盘 1左边 tab键上边的那个 `
      

  5.   

    我创建表的语句是:create table adminuser(adminuser varchar(16) not null default '',adminpass varchar(16) not null default '',primary key adminuser)ENGINE=InnoDB DEFAULT CHARSET=gb2312;
    这句话正确,然后我插入了一条语句,如下:
    insert into adminuser (adminuser,adminpass) values ('admin','1');
    这句话也正确,但是插入下面的一句话时,就不行了,语句如下:
    insert into adminuser (adminuser,adminpass) values ('三','p1');
    系统提示的是:
    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 ','p1')' at line 1
    请问如何解决呀?