gpt4 book ai didi

sql - 如何在大查询中查找sql​​上的 "String or binary data would be truncated"错误

转载 作者:行者123 更新时间:2023-12-02 07:00:50 25 4
gpt4 key购买 nike

我有一个巨大的 INSERT INTO TABLE1 (....) SELECT .... FROM TABLE2 语句。它给了我错误

"String or binary data would be truncated".

我知道在 INSERT 语句中,TABLE2 中的一列比 TABLE1 中的一列大得多。

每个表中有 100 多列。所以很难找出问题所在。有没有更简单的方法来解决这个问题?

最佳答案

您可以查询两个表的Information_Schema.Columns并检查内容长度的差异。

假设您的表具有相同的列名,您可以使用:

SELECT t1.Table_Name, t1.Column_Name
FROM INFORMATION_SCHEMA.Columns t1
INNER JOIN INFORMATION_SCHEMA.Columns t2 ON (t1.Column_Name = t2.Column_Name)
WHERE t1.Table_Name = 'Table1'
AND t2.Table_Name = 'Table2'
AND ISNULL(t1.Character_maximum_length, 0) < ISNULL(t2.Character_maximum_length, 0)

假设您的表具有不同的列名称,您可以执行此操作并查找差异

SELECT Table_Name, Column_Name, Character_maximum_length
FROM INFORMATION_SCHEMA.Columns
WHERE Table_Name IN('Table1', 'Table2')
ORDER BY Column_Name, Character_maximum_length, Table_Name

关于sql - 如何在大查询中查找sql​​上的 "String or binary data would be truncated"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30778207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com