不指定栏名称时,用下述写法:string sqlInsert = "insert into tableName values (3,'办公网','计算机教程','讲课老师',0)";可以成功插入数据。
指定栏名称时,用下述写法:string sqlInsert = "insert into tableName(order,netsname,class,teacher,status) values (4,'办公网','计算机教程','讲课老师',0)";其中,order是主键,设为不允许空,自动递增。 提示语法错误。不知原因何在,我用win7 64位系统,MySQL版本为5.5,VS2010采用C#写的窗体程序。

解决方案 »

  1.   

    order是主键,还是自动递增,这样你就不可以为他赋值了
      

  2.   

    其中,order是主键,设为不允许空,自动递增。  自动递增的列不要写。
      

  3.   

    不用插入order,他是自增的
    改成这样string sqlInsert = "insert into tableName(netsname,class,teacher,status) values ('办公网','计算机教程','讲课老师',0)";
    或者
    string sqlInsert = "insert into tableName values ('办公网','计算机教程','讲课老师',0)";
      

  4.   

    采用你说的方法,不行呀。
    采用string sqlInsert = "insert into tableName(netsname,class,teacher,status) values ('办公网','计算机教程','讲课老师',0)"时,提示
    you have an error in your SQL syntax;check the manual that corresponds to your MySQL server version for right syntax to use near 'class,teacher,status) values 乱码 at line 1.采用string sqlInsert = "insert into tableName values ('办公网','计算机教程……时,提示
    Column count doesn't match value count at row 1
      

  5.   

    不好意思,你是MySQL啊,我写的是MSSQL。
    MySQL不是有两种插入方法吗?
    INSERT INTO tablename SET column_name1 = value1, column_name2 = value2,…;
      

  6.   

    用INSERT INTO tablename SET column_name1 = value1, column_name2 = value2,…;也不行。郁闷了。
      

  7.   

    还有mySql的主键无法自动递增。。郁闷了,检查了表没有问题。
      

  8.   

    Column count doesn't match value count at row 1
    设置了主键递增为啥会报这个错
      

  9.   

    现在好了,我换了系统,采用2008,mysql采用5.1版本的。
      

  10.   

    string sqlInsert = "insert into tableName(order,netsname,class,teacher,status) values (4,'办公网','计算机教程','讲课老师',0)";其中,order是主键,设为不允许空,自动递增。 
    order都是主键,自动增加了,你还要显示插入干什么呢
      

  11.   

    order是主键,设为不允许空,自动递增
    自增长是数据库自动控制的,你不能强制为自增长的字段赋值
      

  12.   

    今天写了一句简单的不能在简单的sql的插入语句,它硬是错了半天我没弄明白什么原因,老跟我报1064错误,我还跟它自动生成的sql语句比较了一下看是哪不一样,比较了半天还是都一样,但是就是报1064错误。生是郁闷。最终明白了错误如下:原来phpmyadmin生成的sql语句里面的单引号('')都被转义了,所以你用和它一样的sql语句是会报错的。最简单的一句插入的sql语句,如INSERT INTO `bbs`.`lyb` (`id`, `author`, `title`, `lyTime`, `content`) VALUES(NULL, '艾丝凡', '阿士大夫', now(), '暗示的法是否的');他自动生成的sql语句可以插入成功,但是如果你自己写就是报1064错误,原来这里面的单引号('')都是转过意义的字符,你这么写是不会成功的,如insert into lyb('id','author','title','lyTime','content') values(null,'撒旦法','艾丝凡',now(),'就看了骄傲是否');这个sql语句是不会成功的。很简单,你改成insert into lyb(id,author,title,lyTime,content) VALUES(NULL,'阿士大夫','模式即可',now(),'及思想吉林市');就OK了。需要主意的一点是:后面的null不可省略(id是int型自增字段)。
      

  13.   

    insert into lyb(id,author,title,lyTime,content) VALUES(NULL,'阿士大夫','模式即可',now(),'及思想吉林市');就OK了。需要主意的一点是:后面的null不可省略。这样就可以了。
      

  14.   

    mysql肯定很好用,事实已经证明了啊。
      

  15.   

    order都是自增了,就别给赋值了,那个字段就别管了,直接插入其它的值。
      

  16.   

    order是主键,还是自动递增,这样你就不可以为他赋值了
      

  17.   

    你的语句里面包含有关键字,应该是class,改成这样试试
    insert into tableName(netsname,`class`,teacher,status) values ('办公网','计算机教程','讲课老师',0)
    关键字要用``符号包起来