mysql - uuid 到 varbinary 的 where 条件
问题描述
我有一个使用 Sequelize 和 MySQL 的项目。我可以在我的 sequelize.define 调用中使用以下语法将 uuid 数据保存到数据库中:
exployeeId: {
primaryKey: true,
allowNull: false,
type: Sequelize.UUID,
defaultValue: Sequelize.UUIDV4,
validate: {
notNull: true
}
}
这有效,数据保存到数据库中设置为 varbinary(36) 的列中。当我需要查询该字段时,就会出现问题。我知道 MySQL 具有将二进制转换为 uuid 并返回的内置函数,但是应该如何从 sequelize 中处理呢?
我尝试使用以下命令将 uuid 字符串转换为数组
Array.from(uuid.parse(id, new Buffer(16)))
:
我还尝试使用以下方法将其转换为二进制字符串:
parseInt(Buffer.from(id, 'base64').toString('hex'), 16).toString(2)
我也尝试了十六进制:
Buffer.from(uuid.parse(id, new Buffer(16)), 'base64').toString('hex')
当然,到目前为止,我还不需要使用二进制字段,所以这是一个新领域。
解决方案
推荐阅读
- c++ - 对可变参数模板类型列表的每种类型进行操作的函数
- javascript - 使用ajax在位置0的JSON中出现意外的令牌N
- html - MDbootstrap 移动设备上的大量空白
- javascript - 为什么换行符会影响 eval 返回?
- c# - 在 DOT NET 中未使用 Microsoft.Extensions.Caching.Memory 存储缓存
- javascript - 如何在模式中修复我的链接,使其正常工作
- python - 尝试将python中的nltk上传到heroku for web app,但没有上传
- javascript - jQuery 不要发送 msg.message
- typescript - 量角器过滤器多次调用
- docker - Docker - 将新内容上传到生产环境的最安全方式