【问题标题】:mysql not allowing escape characters in an insert querymysql不允许在插入查询中使用转义字符
【发布时间】:2021-06-29 10:56:18
【问题描述】:

带有 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

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

【问题讨论】:

    标签: mysql sql sql-insert


    【解决方案1】:

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

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

    【讨论】:

    • 是的,我必须转义转义字符
    猜你喜欢
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    • 1970-01-01
    • 2020-02-07
    • 2016-12-26
    • 2016-07-15
    • 2012-06-07
    • 2015-02-06
    相关资源
    最近更新 更多