Phi*_*own 6 sql-server alter-table
您可以在表中添加一列,将其插入SQL Server中两个现有列之间,而无需删除并重新创建表吗?
中度回答很长,可以(是),但是很难看,您可能不想这样做。
请注意:此代码创建一个物理表
CREATE TABLE MyTest (a int, b int, d int, e int)
INSERT INTO MyTest (a,b,d,e) VALUES(1,2,4,5)
SELECT * FROM MyTest
ALTER TABLE MyTest ADD c int
ALTER TABLE MyTest ADD d_new int
ALTER TABLE MyTest ADD e_new int
UPDATE MyTest SET d_new = d, e_new = e
ALTER TABLE MyTest DROP COLUMN d
ALTER TABLE MyTest DROP COLUMN e
EXEC SP_RENAME 'MyTest.d_new', 'd';
EXEC SP_RENAME 'MyTest.e_new', 'e';
SELECT * FROM MyTest
DROP TABLE MyTest
Run Code Online (Sandbox Code Playgroud)
小智 6
是的,您可以在此处添加您关心的查询:
ALTER table table_name ADD column column_name(new) datatype AFTER column_name
Run Code Online (Sandbox Code Playgroud)