insert into test values((select max(t_id)+1 from test),null,2,'s')

解决方案 »

  1.   

    insert into test values
    (select max(t_id)+1, null as aaa, 2 as bbb, 's' as ccc 
    from test group by aaa, bbb, ccc)
      

  2.   

    insert into test
    select (select max(t_id)+1 from test),null,2,'s' from dual
      

  3.   

    我的SQL没有报错,我只是想有什么坏处.............
      

  4.   


    添加数据有几种方法,不同的方式有不同的用途和好处还有注意点:
    1.insert into table_names(col_1,col_2,col_3) values(values_1,values_2,values_3)
      如果只是添加表中的部分列的数据,那么一定要指定列名
    2.insert into table_names_a(col_1,col_2,col_3)
      select col_1,col_2,col_3
      from table_names_b
      where conditions
      此情况是从现有的表中将数据通过一定的条件筛选出来
    3.创建表的时候添加数据,也叫表复制
      create table temp_emp
      as select * from scott.emp
      表数据的复制,有备份之用
      

  5.   

    不列出列名,则以后表结构修改了,你这SQL就直接报错了,而且也不利于维护