在最高权限下,表A和表B的表结构完全一样,表B中大概有10万条数据,而表A中有500万条数据,现在想把表B中的数据全部复制到表A中,执行语句insert into A select * from B,提示missing values(  )keyword,请教高手,这是怎么回事?

解决方案 »

  1.   

    是不是B表中有的数据列的值为NULL啊,查看一下吧。
    根据提示,应该是插入时,提供的值列数不对应。
      

  2.   

    用SELECT INTO吧。select * into A from B;
      

  3.   

    create table b as select * from a
      

  4.   

    首先检查下SQL语法的准确性,如下SQL也会出现错误:
    insert into tab1) select * from tab2 ;生成SQL_TRACE文件再做分析:
    alter session set sql_trace=true;
    insert into A select * from B
      

  5.   

    select * into   会创建新表的 。别瞎写
      

  6.   


    不好意思,没看清题目,select into 是创建新表,在备份查询的数据。插入不能,看你的报错信息可能是表A和表B的主键不一致;或者是同一字段,在B中有空值,而在A中是不能为空的。