假设我有一个表学生有两个不可为空的列a
& b
类型为整数和两个可空列c
&整数类型的d
。
当我编写查询Insert into student (a,b) values (1,2)
时,它可以正常工作。
但是当我写一个查询Insert into student Select 1,2
不起作用。我的想法是它应该工作,因为我有两个不可为空的列,我提供两个输入值,这些值应该自动进入不能为空的列。
答案 0 :(得分:2)
如果未指定要插入的列,则假定为插入所有列。这意味着,如果SELECT
中的列数与表格中的列数不同,则会出现列数不匹配的错误。
请注意,对此的例外是IDENTITY
列,您不应该自己插入数据,或者列出已定义默认值的列。
您可以参考documentation on MSDN以获得更好的主意。