Joy*_*979 4 sql database sql-server-2008
我有一个Product表,我想在其中创建一个新列Modified_By和 Modified_Date_Time. 这些列不允许空值。
然而,由于数据库已经有数据,为了创建这个列,我不得不定义为“允许空值”。然后,我运行一个更新新列的进程。最后一步是取消选中“允许空值”属性,但是当我尝试保存表更改时,出现以下错误:
“Product_Details”表 - 无法修改表。
无法将值 NULL 插入列 'Modified_Date_Time'、表 'Vendor Products.dbo.Tmp_Product_Details';列不允许空值。插入失败。该语句已终止。
所有的行都成功更新了“Modified_By”和“Modified_Date_Time”列中的正确值,所以我不知道为什么会出现这个错误......无论如何,似乎一个新的“临时”表是由 SQL 创建的Server 2008,因为我没有任何名为“Tmp_Orders”的表
ALTER TABLE {TABLENAME}
ADD {COLUMNNAME} {TYPE} {NOT NULL}
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
Run Code Online (Sandbox Code Playgroud)
您必须设置一个默认值。
ALTER TABLE Product ADD Modified_By datetime DEFAULT (GETDATE())
Run Code Online (Sandbox Code Playgroud)
默认值将设置为今天。
| 归档时间: |
|
| 查看次数: |
10139 次 |
| 最近记录: |