• MySQL 中无法 insert 文件路径 中的 backward slash的解决方法


    Good day. If I do the following...
    INSERT INTO myTable (data) VALUES('Here is a backslash \ ');

    I escape it prior to sending so the value that gets sent to the DB is....
    INSERT INTO myTable (data) VALUES('Here is a backslash \\ ');

    BUT when I check the DB the data field reads
    [Here is a backslash ]

    It eats the single backslash.

    How can I prevent this?

    Thank you.
    Paul C. McNeil
    Developer in Java, MS-SQL, MySQL, and web technologies.















    GOD BLESS AMERICA!
    To God Be The Glory!

    --
    MySQL Bugs Mailing List
    For list archives: http://lists.mysql.com/bugs
    To unsubscribe: http://lists.mysql.com/bugs?unsub=gcdmb-bugs [at] m.gmane.org
    Paul McNeil [ Fr, 09 April 2004 13:16 ] [ ID #83143 ]

    Re: Backslash NOT being stored

    On 2004-04-09, at 13.16, Paul McNeil wrote:

    > INSERT INTO myTable (data) VALUES('Here is a backslash \ ');
    >
    > I escape it prior to sending so the value that gets sent to the DB
    > is....
    > INSERT INTO myTable (data) VALUES('Here is a backslash \\ ');
    >
    > BUT when I check the DB the data field reads
    > [Here is a backslash ]
    >
    > It eats the single backslash.
    >
    > How can I prevent this?

    Is it possible that you're using a string to send the sql command?
    If so, your \\ construct only ensembles a single backslash (in most
    programming languages I know, you must escape the backslash within
    a string using a backslash.

    So assuming the above, you might want to use ".... \\\\ ...." even
    if it looks weird. It's basically two '\' escaped by '\' so that
    mysql gets a '\\' which then is inserted as a '\'. Clear?

    Andreas Pardeike


    --
    MySQL Bugs Mailing List
    For list archives: http://lists.mysql.com/bugs
    To unsubscribe: http://lists.mysql.com/bugs?unsub=gcdmb-bugs [at] m.gmane.org
    Andreas Pardeike [ Fr, 09 April 2004 14:45 ] [ ID #83144 ]

    Re: Backslash NOT being stored

    Hi!

    On Apr 09, Paul McNeil wrote:
    > Good day. If I do the following...
    > INSERT INTO myTable (data) VALUES('Here is a backslash \ ');
    >
    > I escape it prior to sending so the value that gets sent to the DB is....
    > INSERT INTO myTable (data) VALUES('Here is a backslash \\ ');
    >
    > BUT when I check the DB the data field reads
    > [Here is a backslash ]
    >
    > It eats the single backslash.
    >
    > How can I prevent this?

    According to

    http://dev.mysql.com/doc/mysql/en/String_syntax.html

    backslash is an escape character and must be escaped.

    Regards,
    Sergei

    --
    __ ___ ___ ____ __
    / |/ /_ __/ __/ __ \/ / Sergei Golubchik <serg [at] mysql.com>
    / /|_/ / // /\ \/ /_/ / /__ MySQL AB, Senior Software Developer
    /_/ /_/\_, /___/\___\_\___/ Osnabrueck, Germany
    <___/ www.mysql.com

    --
    MySQL Bugs Mailing List
    For list archives: http://lists.mysql.com/bugs
    To unsubscribe: http://lists.mysql.com/bugs?unsub=gcdmb-bugs [at] m.gmane.org
    Sergei Golubchik [ Fr, 09 April 2004 14:55 ] [ ID #83145 ]

    Re: Backslash NOT being stored

    I tested here with your syntax on MySQL 4.0.12 using the mysql command line
    interface. Using SELECT to display the info, shows the backslash. What
    version of MySQL are you using? What interface are you using to display the
    data in MySQL? If it is something like MySQL Front, it could be that the
    display program is the one with the problem.

    John

    ----- Original Message -----
    From: "Paul McNeil" <paulie [at] microneil.com>
    To: <bugs [at] lists.mysql.com>
    Sent: Friday, April 09, 2004 4:16 AM
    Subject: Backslash NOT being stored


    > Good day. If I do the following...
    > INSERT INTO myTable (data) VALUES('Here is a backslash \ ');
    >
    > I escape it prior to sending so the value that gets sent to the DB is....
    > INSERT INTO myTable (data) VALUES('Here is a backslash \\ ');
    >
    > BUT when I check the DB the data field reads
    > [Here is a backslash ]
    >
    > It eats the single backslash.
    >
    > How can I prevent this?
    >
    > Thank you.
    > Paul C. McNeil
    > Developer in Java, MS-SQL, MySQL, and web technologies.
    >
    >
    >
    >
    >
    >
    >
    >
    >
    >
    >
    >
    >
    >
    >
    > GOD BLESS AMERICA!
    > To God Be The Glory!
    >
    > --
    > MySQL Bugs Mailing List
    > For list archives: http://lists.mysql.com/bugs
    > To unsubscribe:
    http://lists.mysql.com/bugs?unsub=jwythe [at] silksystems.com
    >
    >


  • 相关阅读:
    继承 接口 多态
    组合(补充)和 继承
    面向对象初级
    模块和包
    time,random,os,sys,序列化模块
    inline详解
    C++静态数据成员与静态成员函数
    OpenCV Mat数据类型及位数总结(转载)
    拼搏奋斗类
    c++虚函数实现机制(转)
  • 原文地址:https://www.cnblogs.com/cy163/p/1715737.html
Copyright © 2020-2023  润新知