deerox deerox - 2 months ago 5
SQL Question

MySQL is not inserting a backslash

In MySQL, when I try to insert a backslash into my table, it does not accept it and gives me the content without the backslash.

id
is set to auto increment:

Code:

INSERT INTO gender (sex, date) VALUES (
'male are allowed \ female are not allowed', "2012-10-06")


How do I insert a literal backslash?

Notes about escape sequences:

Escape Sequence Character Represented by Sequence

\0 An ASCII NUL (0x00) character.
\' A single quote (“'”) character.
\" A double quote (“"”) character.
\b A backspace character.
\n A newline (linefeed) character.
\r A carriage return character.
\t A tab character.
\Z ASCII 26 (Control+Z). See note following the table.
\\ A backslash (“\”) character.
\% A “%” character. See note following the table.
\_ A “_” character. See note following the table.

Answer

You need to escape your backslash :

INSERT INTO gender
(sex, date) VALUES (
'male are allowed \\ female are not allowed',
"2012-10-06")

Reference (with the list of all characters you must escape for mysql)

Comments