![](/img/trans.png)
[英]Error “Column name or number of supplied values does not match table definition”
[英]Column name or number of supplied values does not match table definition. Default Value?
我已經向數據庫中的表添加了新列。 我沒有更改代碼來插入此新列,而是嘗試創建此新列以在插入時具有默認值。
ALTER TABLE myTableName
ADD DateColumn SMALLDATETIME DEFAULT GetDate()
DECLARE @Dates SMALLDATETIME
SET @Dates = GetDate()
UPDATE myTableName
SET DateColumn = @Dates
ALTER COLUMN DateColumn SMALLDATETIME NOT NULL
問題是我上面出現此錯誤,因為有13列,多年未觸及的代碼僅插入12列,但它們不是顯式的(例如
Insert into table ColumnNames Values(values))
只是平原
insert into table Values (xxx, xxx ,xxx)
我如何才能使插入內容忽略新列,而僅在每次添加新行時讓新列插入默認數據?
這聽起來有點激進,但是您可以執行以下操作:
瞧! 該視圖將是可更新的,並且舊代碼應該可以運行。
注意:如果insert
具有明確的列列表,則永遠不會發生此問題。 您應該修復代碼以及解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.