更改数据库列的顺序

时间:2011-04-06 11:38:01

标签: sql database sql-server-2005 tsql

我想更改列的顺序,例如name是我表的第一列,表中有10个其他列我想在name列之后的第二个位置插入一个新列。 这怎么可能?

4 个答案:

答案 0 :(得分:7)

1 - 如果马丁正确地指出,没有重建桌子是不可能的。

2 - 无论如何,指定您想要的字段以及您SELECT语句中n8wrl指出的顺序是一种很好的做法。

3 - 如果真的非常需要在您的字段上修改订单,可以创建一个视图,按照您想要的顺序选择所需的字段。

答案 1 :(得分:5)

与表中的行类似,列的顺序没有意义。实际上,最好在select语句中指定列,而不是使用select *,这样就可以通过相应地编写SELECT语句来“插入”新列。

答案 2 :(得分:1)

可以改变顺序。在某些情况下,它确实很重要。有个人经历。 无论如何..这个查询工作正常 ALTER TABLE user MODIFY Name VARCHAR(150) AFTER address;

答案 3 :(得分:0)

您可以按照以下步骤实现此目的:

  1. 删除原始表的所有外键和主键。
  2. 重命名原始表格。
  3. 使用CTAS,按照您想要的顺序创建原始表。
  4. 放下旧桌子。
  5. 将所有约束应用回原始表格。