我有型在提交到數據庫之前裁剪NVARCHAR(MAX) - 多長?
summary NVARCHAR(4000) NULL
之前,我的任何數據添加到表我簽入代碼,並修復它,如果用戶輸入一個字符串,它是使用此代碼數據庫太長的SQL行
if (instanceToCrop.Description != null && instanceToCrop.Description.Length > 4000) instanceToCrop.Description = instanceToCrop.Description.Substring(0, 4000);
如果我改變我的表從而
ALTER TABLE Timeline
ALTER COLUMN summary NVARCHAR(MAX)
我應該代替4000用什麼不變,保持長度低於提交的字符串SQL服務器會拒絕?
您不應該允許用戶從UI端輸入那麼多字符,而不是從數據庫端進行檢查。如果您使用的是.net,則文本框有一個maxlength屬性。 – JonH
Integer.MaxValue –
JonH,同意。 UI檢查比這還少,但我很謹慎,並且還包括檢查數據庫周圍的代碼。 喬爾 - 有趣的是,感謝那 – dumbledad