目标:插入某表,三个字段 ,第一个字段为uuid,第二个字段定死,第三个字段为另表的的一个字段。
首先错误示范:
insert into s_module_function_info (module_function_id,module_id,function_id)
values(sys_guid(),'2925A7865EEC4FA1A444B44772C6DABE',(select t.function_id from s_function_info t));
报:单行子查询返回多个行,第三个字段为多条数据。
解决:
insert into s_module_function_info (module_function_id,module_id,function_id)
(select sys_guid(),'2925A7865EEC4FA1A444B44772C6DABE',t.function_id from s_function_info t);
把他当成一条整的子查询插入,正常。
我碰到过很多这种情况 ,想造一些数据,但是一条一条的插,很笨,多条插,又不成功。
这里备注一下,想不起来的时候回看一下,下次就会了。