我在 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),但显然我得到的值太大了。 我该如何解决这个问题?
最佳答案
感谢@hanshenrik,我开始寻找一种在 nodeexpress 中使用 UNHEX 的方法。
我发现了以下内容:
const byteValue = Buffer.from(uuidV4Bytes(16).replace('-', ''), 'hex')
这成功了。但是我不能说这是最佳方式,但它解决了我的问题。
关于mysql - 如何正确地将 uuid 转换为 BINARY(16)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62286812/