insert into table1 select a,b,c from table2--------------------------------------------------a例中有些值插不进去,真是怪事了....意思是,a中明显有数据但是插到table1表后,发现变成空值了?

解决方案 »

  1.   

    insert into table1 select a,b,c from table2 --------------------------------------------------a例中有些值插不进去,真是怪事了.... 意思是,a中明显有数据但是插到table1表后,发现变成空值了? 注:table1,table2的结构是一样的。。这样也不行:
    CREATE TABLE table1 AS select * from table2 where id=1000098;------------值还是空的
    table2的表结构如下:CREATE TABLE `table2` (
      `id` int(4) unsigned NOT NULL auto_increment,
      `NAME` varchar(7) character set gb2312 collate gb2312_bin NOT NULL default ''
      ) ENGINE=MyISAM DEFAULT CHARSET=gb2312;
    select * from table2的结果如下:id        name
    1000098   輹仇鍺—select * from table1的结果如下:id        name
    1000098   
      

  2.   


    这样也不行: 
    CREATE TABLE table1 AS select * from table2 where id=1000098; 
      

  3.   

    字符集引起的 处理一下表table1再进行插入: alter table table1 modify name varchar(7) character set gb2312 collate gb2312_bin NOT NULL default '';
      

  4.   


    你确定排序规则collate也一样吗? 
      

  5.   

    你的table2用的校验规则collate是gb2312_bin,是基于字节的,所以,我想你的table1的collate不是这个
      

  6.   

    show create table table1;show create table table2;贴出来看下。