我正在使用SQL Server 2008.我試圖向表中插入字符串,但只插入了部分字符串。我檢查過這是否是SQL注入風險。如何解決或避免這個問題?無法將此字符串插入列。只插入字符串的一部分
insert into tble (col1, col2, col3)
values (23, 34, "out of 8 works, 5 works are completed");
只有Out of 8 Works
插入,, 5 works are completed
跳過
我正在使用SQL Server 2008.我試圖向表中插入字符串,但只插入了部分字符串。我檢查過這是否是SQL注入風險。如何解決或避免這個問題?無法將此字符串插入列。只插入字符串的一部分
insert into tble (col1, col2, col3)
values (23, 34, "out of 8 works, 5 works are completed");
只有Out of 8 Works
插入,, 5 works are completed
跳過
雙引號才起作用不要在INSERT上傳遞一個字符串 - 從應用程序中調用它。字符串可能會被截斷,因爲col3沒有被定義足夠長的時間 - 也請檢查。
試試這個..如果QUOTED_IDENTIFIERS是關閉的,如果你擔心SQL注入,然後
insert into table(col1,col2,col3) values (23,34,'out of 8 works, 5 works are completed');
更改表格中col3的大小(根據您的字符串大小)。 您可以使用下面的查詢更改:
ALTER TABLE tble
改變列COL3爲nvarchar(100)[空|不爲空]
在Sql Server中沒有修改。 https://msdn.microsoft.com/en-IN/library/ms190273.aspx ALTER TABLE table_name ALTER COLUMN column_name datatype ... –
用單個替換雙引號。 插入tble(col1,col2,col3)值(23,34,'8件作品中,5件作品完成'); – BeanFrog
'聲明@temp表格 (val nvarchar(max)) 插入到@temp(val)值('8個作品中,5個作品完成');' – wiretext
col3的數據類型是什麼? 'varchar(15)'是我的猜測。如果是這樣,使它'varchar(100)'看起來像字符串截斷給我。 – Raj