& 符号不适用于 Sequelize 查询
Ampersand not working for Sequelize query
无论出于何种原因,Sequelize 都忽略了 & 符号,我无法弄清楚原因。查询的其余部分直接出现在控制台中 (Node.Js),但在 where 参数中它忽略了 & 符号并截断了字符串的其余部分。
问题似乎只是与符号有关,因为我尝试过的其他特殊字符(不多,但有一些,例如 .)工作正常。
我还在 Sequelize 中尝试了一个原始查询,我将文字 SQL 代码与符号放在一起,结果是一样的。也没有错误(除了 MySQL 说明所述条目不存在,这是准确的,因为 Sequelize 不包括&符号并切断它后面的其余字符串)
[预期]
输入:“堆栈和溢出”
输出:“堆栈和溢出”
[现实]
输入:“堆栈和溢出”
输出:“堆栈”
而不是双引号 "
你应该使用单引号 '
.
这是基于 PostgreSQL 的行为。您可以阅读
中的说明
经过多次调试和故障排除后,我创建了一个隔离环境。原来问题一直是我出于某种原因在 GET 请求中发送数据。结果 & 正在创建单独的参数。
已通过 POST 请求发送修复。
我想 URL 编码也可以解决这个问题。
无论出于何种原因,Sequelize 都忽略了 & 符号,我无法弄清楚原因。查询的其余部分直接出现在控制台中 (Node.Js),但在 where 参数中它忽略了 & 符号并截断了字符串的其余部分。
问题似乎只是与符号有关,因为我尝试过的其他特殊字符(不多,但有一些,例如 .)工作正常。
我还在 Sequelize 中尝试了一个原始查询,我将文字 SQL 代码与符号放在一起,结果是一样的。也没有错误(除了 MySQL 说明所述条目不存在,这是准确的,因为 Sequelize 不包括&符号并切断它后面的其余字符串)
[预期] 输入:“堆栈和溢出” 输出:“堆栈和溢出”
[现实] 输入:“堆栈和溢出” 输出:“堆栈”
而不是双引号 "
你应该使用单引号 '
.
这是基于 PostgreSQL 的行为。您可以阅读
经过多次调试和故障排除后,我创建了一个隔离环境。原来问题一直是我出于某种原因在 GET 请求中发送数据。结果 & 正在创建单独的参数。
已通过 POST 请求发送修复。
我想 URL 编码也可以解决这个问题。