Alter Table table2 add ( select column1, column2, column3, column4 from table1 );
我需要通过选择另一个表的列来附加现有表中的列。
我得到错误!期待一个可能的解决方案
Alter Table table2 add ( select column1, column2, column3, column4 from table1 );
我需要通过选择另一个表的列来附加现有表中的列。
我得到错误!期待一个可能的解决方案
首先,要向表中添加四个新列,请使用以下语法:
ALTER TABLE Table2
ADD column1 <datatype> <allow null>,
column2 <datatype> <allow null>,
column3 <datatype> <allow null>,
column4 <datatype> <allow null>
<datatype>
您将添加到列中的数据类型<allow null>
在哪里,NULL
如果您想允许空值是列,NOT NULL
如果您不想在列中允许空值。
例如,要添加大小为 10 且允许空值的四列 nchar 类型,您可以执行以下操作:
ALTER TABLE Table2
ADD column1 [nchar](10) NULL,
column2 [nchar](10) NULL,
column3 [nchar](10) NULL,
column4 [nchar](10) NULL
接下来,要将 table1 中的数据作为全新记录插入到该表中,您将使用以下 sql:
insert into table2 (column1, column2, column3, column4)
select column1, column2, column3, column4
from table1
注意:如果表中的任何原始列设置为NOT NULL
并且没有默认值,这将失败,您还必须为这些列设置值。您可以使用类似于为不允许 NULL 值的列设置特定值的命令来执行此操作:
insert into table2 ( existingColumn, column1, column2, column3, column4)
select 'value to insert', column1, column2, column3, column4
from table1