MySql插入语句为二进制数据类型?

DHR*_*SAL 7 mysql sql

我正在使用MySQL数据库.

我有一个表,其列具有数据类型二进制(16).

我需要有关此表的insert语句的帮助.

Example:
CREATE TABLE `assignedresource` (
`distid` binary(16) NOT NULL
)

insert into assignedresource values ('9fad5e9e-efdf-b449');

Error : Lookup Error - MySQL Database Error: Data too long for column 'distid' at row 1
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

Rik*_*nna 13

您应该删除连字符以使值与字段的长度匹配...

Example:
CREATE TABLE `assignedresource` (
`distid` binary(16) NOT NULL
)

insert into assignedresource values ('9fad5e9eefdfb449');
Run Code Online (Sandbox Code Playgroud)

此外,MySQL标准是使用这种表示法将字符串表示为二进制... X'9fad5e9eefdfb449',即

insert into assignedresource values (X'9fad5e9eefdfb449');
Run Code Online (Sandbox Code Playgroud)

  • 我想我应该注意每两个字符代表一个二进制字节。所以我相信有问题的字符串(在删除破折号之后)是一个二进制(8)。 (2认同)