我在mysql表中有一个BINARY(16)
类型的id字段。
我生成以下ID:66e2105c-bff5-4206-a9cc-e212f5622368
使用此代码:
const v = uuidV4Bytes(16);
通过sequalize插入为:
INSERT INTO SPORTS(Id,Name,HouseId,Date,Active)
VALUES ('66e2105c-bff5-4206-a9cc-e212f5622368','SPORTNAME',1, '2020-05-04', 0)
问题:
Error Code: 1406. Data too long for column 'Id' at row
我正在尝试将uuid转换为二进制(16),但我显然获得了很大的值。我该如何解决?
只要它总是以8-4-4-4-12
十六进制字符的形式,您就可以使用REPLACE()和UNHEX()来让MySQL为您完成此操作
INSERT INTO SPORTS(Id,Name,HouseId,WDate,Active)
VALUES (UNHEX(REPLACE('66e2105c-bff5-4206-a9cc-e212f5622368','-','')),'SPORTNAME',1, '2020-05-04', 0)