无法将此字符串插入列中。只插入部分字符串

时间:2015-11-30 10:00:49

标签: sql sql-server sql-server-2008 sql-injection code-injection

我正在使用SQL Server 2008.我正在尝试将一个字符串插入表中,但只插入了部分字符串。我已经检查过它是否是SQL注入风险。如何解决或避免这个问题?

GRANT FILE ON *.* TO 'user'@'%';

仅插入insert into tble (col1, col2, col3) values (23, 34, "out of 8 works, 5 works are completed"); ,跳过Out of 8 Works

3 个答案:

答案 0 :(得分:2)

双引号仅在QUOTED_IDENTIFIERS关闭时有效,如果您担心SQL注入,则不要在INSERT上传递字符串 - 从应用程序对其进行参数化。字符串可能会被截断,因为col3的定义时间不够长 - 也请检查。

答案 1 :(得分:0)

试试这个..

insert into table(col1,col2,col3) values (23,34,'out of 8 works, 5 works are completed');

答案 2 :(得分:0)

更改表格中col3的大小(根据字符串大小)。 您可以使用以下查询进行更改:

改变表格

alter column col3 nvarchar(100)[null |不是空的]