我有一個OldData以資料命名的舊資料庫,我想將其傳遞給名為School. 我在檢查資料庫創建腳本時遇到問題。舊資料庫中的相關列屬于型別nvarchar,我想將其強制轉換為varbinary.
我的專欄創作:
studentFamSize VARBINARY(MAX) NOT NULL DEFAULT 0
我想檢查我的varbinary專欄是 N'LE3' 還是 N'GT3',我目前的檢查是這樣的:
CONSTRAINT CHK_studentFamSize
CHECK (studentFamSize = 0x4C4533 OR studentFamSize = 0x475433)
還有我的演員:
CAST(famsize AS VARBINARY(100))
我收到一個錯誤:
INSERT 陳述句與 CHECK 約束“CHK_studentFamSize”沖突。沖突發生在資料庫“School”、表“dbo.Student”、“studentFamSize”列中。
如果有人可以幫助我,我將不勝感激。
uj5u.com熱心網友回復:
這里的解決方案很簡單,修復您的設計:
ALTER TABLE dbo.YourTable ALTER COLUMN studentFamSize nvarchar(3) NOT NULL;
然后添加正確的CONSTRAINT:
ALTER TABLE dbo.YourTable
ADD CONSTRAINT CHK_studentFamSize CHECK (studentFamSize IN (N'LE3', N'GT3'));
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/366932.html
標籤:sql-server
下一篇:將一張表插入另一張表
