指定顺序的添加列

SinGooCMS 2008-07-04 02:30:34
比如添加一个列
ALTER TABLE T1
ADD COL1 VARCHAR(50)

这样添加了一个列.但这个列是在最后面的.比如前面还有两个列id,name
有没有能够把COL1添加到id与name之间?

虽然不是很必要.就当是学习一下吧!
...全文
62 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhiguo2008 2008-07-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 qianjin036a 的回复:]
SQL code--用Alter table 在 t2 中添加address列后,再将其移到第二列的程序
alter table t2 add address varchar(50) null
go
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
CREATE TABLE dbo.Tmp_t2
(
id int NULL,
addres…
[/Quote]

支持一下
ChinaJiaBing 2008-07-04
  • 打赏
  • 举报
回复
重建.../......
ojuju10 2008-07-04
  • 打赏
  • 举报
回复

如果重新建,注意约束、主键、index!
ojuju10 2008-07-04
  • 打赏
  • 举报
回复

在企业管理器里面直接改顺序!
-晴天 2008-07-04
  • 打赏
  • 举报
回复
--用Alter table 在 t2 中添加address列后,再将其移到第二列的程序
alter table t2 add address varchar(50) null
go
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
CREATE TABLE dbo.Tmp_t2
(
id int NULL,
address varchar(50) NULL,
username varchar(20) NULL
) ON [PRIMARY]
GO
IF EXISTS(SELECT * FROM dbo.t2)
EXEC('INSERT INTO dbo.Tmp_t2 (id, address, username)
SELECT id, address, username FROM dbo.t2 WITH (HOLDLOCK TABLOCKX)')
GO
DROP TABLE dbo.t2
GO
EXECUTE sp_rename N'dbo.Tmp_t2', N't2', 'OBJECT'
GO
SinGooCMS 2008-07-04
  • 打赏
  • 举报
回复
是啊.我也没找到其它方法.除了企业管理器里插入列才行
hery2002 2008-07-04
  • 打赏
  • 举报
回复
drop table 后重建,
除此以外没有其它办法.

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧