这种语句有什么问题么?

csndcsnd01232 2011-11-24 04:09:21
insert into test values((select max(t_id)+1 from test),null,2,'s')
...全文
62 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zengjc 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 csndcsnd01232 的回复:]

我的SQL没有报错,我只是想有什么坏处.............
[/Quote]
不列出列名,则以后表结构修改了,你这SQL就直接报错了,而且也不利于维护
鸣宇淳 2011-11-24
  • 打赏
  • 举报
回复
你这个写法没问题呀,是不是id是主键?还是第二个字段不能为空?
你出的啥错呀?
304的的哥 2011-11-24
  • 打赏
  • 举报
回复

添加数据有几种方法,不同的方式有不同的用途和好处还有注意点:
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
表数据的复制,有备份之用
csndcsnd01232 2011-11-24
  • 打赏
  • 举报
回复
我的SQL没有报错,我只是想有什么坏处.............
cosio 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bobo12082119 的回复:]
insert into test
select (select max(t_id)+1 from test),null,2,'s' from dual
[/Quote]

+1
304的的哥 2011-11-24
  • 打赏
  • 举报
回复
insert into test
select (select max(t_id)+1 from test),null,2,'s' from dual
yixilan 2011-11-24
  • 打赏
  • 举报
回复
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)

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧