NodeJS 更新大哈希值时Sequelize Update中的错误

lvmkulzt  于 2023-06-22  发布在  Node.js
关注(0)|答案(1)|浏览(95)

在使用sequleize更新一个大的哈希值时,会出现一个奇怪的问题。我有一个散列有

value='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijk0NDY5YWY1MjdkM2RlZjBkZGMxYTRlYWU1MjdmZWQ0IiwiaWF0IjoxNTQyMTgxMzkwLCJleHAiOjE1NDIxOTIxOTB9.SxShzkA_j3wSprlt8bHwJwzxirQ-'

并使用以下命令更新我的表的散列属性:

TempUser.update( {hash:hash}, { where: { user: req.body.TempUser.user } } );

日志中的结果是

UPDATE temp_user SET hash='$2a$10$e35JRfRZdyitrkJOtrogOeuCUq1Dtwz9I0jHRytRv2z.zEYAmul9K',updated_at='2018-11-14 07:34:32' WHERE user = 'd@d.com'.

我不明白为什么会这样。
我也在GitHub上讨论过这个问题。不知道为什么它被反复关闭。https://github.com/sequelize/sequelize/issues/10161

v64noz0r

v64noz0r1#

我认为varchar的列大小不足以存储该散列值。尝试将hash列大小更改为VARCHAR(500)或更大

相关问题