Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MySQL is not inserting a backslash

Tags:

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. 
like image 581
deerox Avatar asked Oct 07 '12 16:10

deerox


People also ask

How do I find backslash in MySQL?

To search for “\”, specify it as “\\\\”; this is because the backslashes are stripped once by the parser and again when the pattern match is made, leaving a single backslash to be matched against.

How do you backslash in SQL query?

In ANSI SQL, the backslash character (\) is the escape character. To search for data that begins with the string \abc , the WHERE clause must use an escape character as follows: ... where col1 = '\\abc';

How do you insert a slash in SQL?

Use 4 backslashes as per below: snowflake. createStatement( { sqlText: `insert into log_table (message) values ('\\\\newdata')` } ).


1 Answers

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)

like image 181
Denys Séguret Avatar answered Oct 19 '22 23:10

Denys Séguret