ALTER TABLE Log ADD log_id bigint IDENTITY BEFORE cust_id_fk
上面的代码为最后一个位置添加了一个新列。我希望它被添加到第一个位置。另外我想把它作为主键。
ALTER TABLE Log ADD log_id bigint IDENTITY BEFORE cust_id_fk
上面的代码为最后一个位置添加了一个新列。我希望它被添加到第一个位置。另外我想把它作为主键。
您需要删除表并使用正确顺序的列重新创建它。如果在SSMS中更改表,则可以为您生成更改脚本,然后可以使用该脚本将更改部署到生产服务器。
即使问题陈旧,也需要更准确的管理工作室。
您可以手动或使用Management Studio创建列。但是,Management Studio将需要重新创建表格,如果您已经有太多数据,将导致超时,除非表格很轻,否则请避免。
要更改列的顺序,您只需在Management Studio中移动它们。这不应要求(很可能存在异常)Management Studio重新创建表,因为它很可能会更改表定义中列的排序。
我已经在很多场合用这种方式完成了这些工作,由于其中的数据,我无法使用GUI添加列。然后使用Management Studio的GUI移动列并简单地保存它们。
你将从一个有保证的时间到几秒钟的等待。
在MSSMS中,选择对象资源管理器中的表。右键单击并选择修改。 这将带来一个新选项卡,您可以在其中将列拖动到新的默认顺序。 保存并预先!完成。
脚步:
简短的回答:这是不可能的。
但您可以尝试以下步骤:
如果你有数据。复制数据并将其粘贴到Excel电子表格中,编辑电子表格以包含新列,编辑前100行并将数据粘贴回表格中。
祝你好运
您必须创建另一个表并复制数据。但看看“序数位置”并尝试更新它?
SELECT
ORDINAL_POSITION
,COLUMN_NAME
,DATA_TYPE
,CHARACTER_MAXIMUM_LENGTH
,IS_NULLABLE
,COLUMN_DEFAULT
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'Product'
ORDER BY
ORDINAL_POSITION ASC;
主键是另一个问题,您可以找到很多答案。