sql-server - SQL Server错误: String or binary data would be truncated

标签 sql-server sql-server-2005

我的 table :

log_id                 bigint
old_value                  xml
new_value                  xml
module                 varchar(50)
reference_id           bigint
[transaction]          varchar(100)
transaction_status         varchar(10)
stack_trace                ntext
modified_on                datetime
modified_by                bigint

插入查询:

INSERT INTO [dbo].[audit_log]
           ([old_value],[new_value],[module],[reference_id],[transaction]
           ,[transaction_status],[stack_trace],[modified_on],[modified_by])
     VALUES
            ('asdf','asdf','Subscriber',4,'_transaction',
            '_transaction_status','_stack_trace',getdate(),555)

错误:

Msg 8152, Level 16, State 14, Line 1
String or binary data would be truncated.
The statement has been terminated.

这是为什么???

最佳答案

您尝试写入的数据多于特定列可以存储的数据。根据每个字段的大小检查您尝试插入的数据的大小。

在本例中,transaction_status 是 varchar(10),并且您尝试向其中存储 19 个字符。

关于sql-server - SQL Server错误: String or binary data would be truncated,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10843567/

相关文章:

sql-server - 如何查找数据库中使用 UNION 的所有对象

sql-server - LIKE 忽略魔法 Unicode 字符

sql - 重命名 SQL Server 架构

sql - 在 MS SQL 中查找序列中缺失的数字

java - 使用带有空 ResultSet 的 JDBC 的临时表

sql-server-2005 - 如何获取新创建记录的ID(PK)?

sql - 您如何记住/管理您的 SQL 示例?

python - 尚不支持 ODBC SQL 类型 -155

sql - 展平包含引用 SQL Server 2005 中其他行的行的表

sql - 这两个查询在获得两个不同的结果集时有什么区别?