zoukankan      html  css  js  c++  java
  • 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
    >
    >


  • 相关阅读:
    C# partial 作用
    C#中internal关键字是什么意思?什么叫做“只能在包含它的程序集中访问该方法”
    [转]利用.NET中的反射机制实现IList到DataTable的转换
    你可能已经知道或者不知道的ASP.NET 2.0技巧
    SQL Server基本函数详细介绍--字符串函数
    在Web.config配置文件中自定义配置节点
    SQL SERVER事务处理
    专用于SqlServer2005的高效分页存储过程(支持多字段任意排序,不要求排序字段唯一)
    SQL SERVER 高效存储过程分页(Max/Min方法)
    该字符串未被识别为有效的 DateTime
  • 原文地址:https://www.cnblogs.com/cy163/p/1715737.html
Copyright © 2011-2022 走看看