mysql不允许在插入查询中使用转义字符

标签 mysql sql sql-insert

带有 php 和 phpmyadmin 的 0.25 版本现在,当我打印得到的插入查询时,我正在使用它向数据库中插入行

 INSERT INTO `anqui_ira_solok_account_maintenance_forms` 
 (`mailing_address_street_address`, `mailing_address_city`,`mailing_address_state`,`mailing_address_zip_code`,`updated_date`, 
`submitted_date`,`created_date`) 
VALUES ('test \"and\" test','test','test \"11\"','452001','2021-06-29 
03:39:17','2021-06-29 03:39:17','2021-06-29')

如您所见,我正在用特殊字符 \ 转义双引号,但是当我从应用程序或 phpmyadmin sql 选项运行此查询时,转义字符被删除,我得到的值如 test "and"test 我应该得到 test\"and\"test

我已将引擎从 myIsam 更改为 innodb,并将排序规则更改为 utf8_general_ci

ENGINE=InnoDB AUTO_INCREMENT=247 DEFAULT CHARSET=utf8mb3

但无济于事如果我尝试用转义值更新单个列,它可以工作,但在插入查询中不起作用。

最佳答案

您似乎想要转义 escape 字符。所以这应该做你想做的:

VALUES ('test \\"and\\" test','test', 'test \\"11\\"',
        '452001', '2021-06-29 03:39:17',
        '2021-06-29 03:39:17', '2021-06-29'
       )

关于mysql不允许在插入查询中使用转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68177368/

相关文章:

MySQL:选择两个数据库中时间戳不匹配的所有行

c# - 使用 ADO.NET SqlDataAdapter 更新单个记录

java - JDBC 向数据库中插入变量

mysql - 仅当 IF 条件为真时才插入

php - 字段电子邮件未在 MySQL 表中更新(使用 PDO)

java - Hibernate:在多对一关系中保存空实体

php - 如何使用模型和自定义助手显示数据库中的数据?

ON DELETE CASCADE 的 MySQL 语法错误 #1064

iOS:SQLITE 插入查询错误

mysql LEFT join 获取右表最大值