插入数据时部分插入从别的表里取出的数据:
可获取输入为id,name
需要插入tbl_student表:id,name,gender
info取自tbl_student_info表
当s.id=si.id
时,获得 info
假设输入
id:001
name:'zhangsan'
表student_info中有 id:001 gender:male
本质上是完成:
INSERT INTO tbl_student ( id,name )
VALUES
(001, 'zhangsan')
和
INSERT INTO tbl_student ( gender ) SELECT
gender
FROM
tbl_student_info
WHERE
id = 001
但是不能两条插入,会冲突。
方法一:
INSERT INTO tbl_student ( id,name,gender )
VALUES
(001, 'zhangsan', ( SELECT gender FROM tbl_student_info WHERE id=001 ) )
方法二:
INSERT INTO tbl_student ( id,name,gender )
VALUES
(001, 'zhangsan', null )
再对null做update
也可以设置默认,然后不插入
注意这里id为int所以用
001
如果是varchar应该用
'001'