postgresql - 在 postgres 中插入编码密码时出错
问题描述
我创建了这个 psql 表代码:
CREATE TABLE admin (id INT NOT NULL, username VARCHAR(180) NOT NULL, roles JSON NOT NULL, password VARCHAR(255) NOT NULL, PRIMARY KEY(id))');
接着
INSERT INTO admin (id, username, roles, password) VALUES (nextval('admin_id_seq'), 'admin', '["ROLE_ADMIN"]', '$argon2id$v=19$m=65536,t=4,p=1$Kcm6sv104bqBtb+FEh+dDQ$caej4aGFAYMvBqKNHgFAGw6+1rua1Iwk/g09mYbOCLMx’);
我在终端上没有一个错误,但表上有 0 行,我错过了任何代码吗?
解决方案
如果您仔细查看您的值(以下截断!),您会发现最后一个单引号实际上是“右单引号”(U+2019)而不是“单引号”/“撇号”(U +0027),而所有其他引号都是撇号,因为它们应该是。
(nextval('admin_id_seq'), 'admin', '["ROLE_ADMIN"]', '$argon2id$v=19$...’)
^-- this one
如果你仔细观察,你会发现它甚至看起来不一样。您可以放大以更轻松地查看差异。
解决方案是用撇号/单引号 (U+0027) 替换最后一个:
INSERT INTO admin (id, username, roles, password) VALUES (nextval('admin_id_seq'), 'admin', '["ROLE_ADMIN"]', '$argon2id$v=19$m=65536,t=4,p=1$Kcm6sv104bqBtb+FEh+dDQ$caej4aGFAYMvBqKNHgFAGw6+1rua1Iwk/g09mYbOCLMx');
推荐阅读
- ios - 有没有办法在不重置添加的最后一个视图的位置的情况下向 Xcode 添加子视图?
- macos - WebRTC 捕获 NSCursor 图像导致内存泄漏
- ios - 我们是否应该继续在 iOS 中明确地将变量捕获为弱变量
- kubernetes - 使用 Prometheus 监控 AKS(Azure Kubernetes 服务)无法发现 Kubelet 组件
- c++ - 无法递归创建 C++ 数组
- dart - Dart 最佳实践,我们应该在参数中提供类型注释吗?
- ruby - 如何在ruby中将数组转换为字符串
- php - 我的组件 CakeEmail 提交后不发送但也不返回错误
- c++ - 二叉树模板类中的运算符'=='和'>'不匹配 - c++
- flutter - Flutter TextField LabelText 中心