gpt4 book ai didi

sql-server - 将 varbinary 数据插入 SQL Server 数据库

转载 作者:行者123 更新时间:2023-12-02 02:58:58 24 4
gpt4 key购买 nike

我有这张表:

   (<NUM_TRF int
,<NAME, varchar(255),>
,<DESCRIPTION, text,>
,<REPORT, varbinary(max),>)

我尝试在 SQL Server 2008 中创建一个脚本,以便在本地数据库中插入一行,

INSERT INTO [MY_DB_APP].[dbo].[CONNECT_USER]
VALUES(1, 'name', 'description', Cast('wahid' As varbinary(max)) )
GO

但我收到此错误:

String or binary data would be truncated.
The statement has been terminated.

最佳答案

两个问题:

问题 #1:不要再使用 TEXT - 它已被弃用。使用大小合适的 nVARCHAR(n),或者如果您确实必须(仅当您真的必须),使用VARCHAR(MAX)

CREATE TABLE dbo.CONNECT_USER
(
NUM_TRF int,
NAME varchar(255),
DESCRIPTION varchar(1000),
REPORT varbinary(max)
)

我个人也会避免将所有内容全部大写 - 这只会让阅读变得更加困难!我会尽量避免使用非常通用的列名称,例如 NameDescription - 这些名称不是很直观,并且可能会与其他表的列发生冲突/或使用 SQL Server 保留关键字。尝试使用更具表现力、与上下文更相关且在您的环境中有意义的列名称(ConnectUsername 或其他名称)

问题 #2:在执行 INSERT 时,我建议始终定义要插入的列。这可以避免在重组表或添加新列时出现令人不快的意外:

INSERT INTO [MY_DB_APP].[dbo].[CONNECT_USER](NUM_TRF, NAME, DESCRIPTION, REPORT)
VALUES(1, 'name', 'description', CAST('wahid' AS VARBINARY(MAX)))
GO

关于sql-server - 将 varbinary 数据插入 SQL Server 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25487445/

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