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

mysql not allowing escape characters in an insert query

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

 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'
       )