我有一个具有以下结构的 SQL Server 数据库表
CREATE TABLE TableA
(
[ID] [int] IDENTITY NOT NULL,
[NAME] varchar NOT NULL,
[ORDER] [numeric](22, 0) NOT NULL,
[VALUE] varchar NOT NULL,
[VNAME] varchar NULL,
[CREATOR] varchar NULL,
[CREATION_DATE] datetime2 default CURRENT_TIMESTAMP NULL,
[MODIF_LAST] datetime2 default CURRENT_TIMESTAMP NULL,
CONSTRAINT [PK_48_CODES] PRIMARY KEY CLUSTERED(PersonID ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)
当我尝试执行插入命令时,出现以下错误
SQL 错误 [8152] [22001]:字符串或二进制数据将被截断。
我的插入命令如下
INSERT INTO TableA (CODE_NAME, CODE_ORDER, VALUE, VALUE_NAME, CREATOR)
VALUES ('CAP', 122, 'HIGH', 'SHIELD', 'H.STARK');
Run Code Online (Sandbox Code Playgroud)
这个特定错误有很多重复项,但不幸的是它们都不适合我。
我使用 DBeaver 作为我的数据库创建和查看应用程序。
我非常感谢您对此的帮助。
提前致谢
始终使用以下长度varchar():
VALUE varchar(255) NOT NULL,
VNAME varchar(255) NULL,
Run Code Online (Sandbox Code Playgroud)
默认长度因上下文而异——并且它可能不足以存储您想要的值。在此示例中,默认长度为1。