我需要为已经索引主键的表添加索引.新索引将在另一列上.
我没有足够的权限在此表上通过右键单击并选择"脚本表为"来选择"更改".
有没有办法在不影响任何现有数据的情况下向列添加索引?
myTable:
- id - int ----->这是一个标识列,设置为PK和indexable
- bookid ---> varchar(20)---->这是需要索引创建的列
时态表比变更数据捕获或变更跟踪有什么优势?
sql-server change-tracking change-data-capture sql-server-2016 temporal-tables
我正在尝试更改现有列并添加整数列。在添加整数列时,我将 DEFAULT 设置为 10,但在添加列时未设置默认值
ALTER TABLE dbo.Contacts ADD Col1 INT DEFAULT 10
Run Code Online (Sandbox Code Playgroud)
我需要执行显式更新脚本以将所有过去的记录设置为默认值
而如果该列为“非空”,则所有记录的默认值为 10。
ALTER TABLE dbo.Contacts ADD Col2 INT NOT NULL DEFAULT 10
Run Code Online (Sandbox Code Playgroud)
为什么可空列未设置为默认值?在我的实际表中,我有接近 8.5 亿条记录,我的新列是可以为空的列,我试图避免在我的 ALTER 表脚本之后再进行一次更新。方法是什么?
我正在考虑创建不可为空的列,默认值为 10,然后再次将约束更改为 NULL。这是好的方法吗?还有其他方法吗?