Để chèn ký tự đặc biệt là dấu nháy đơn ' vào MySQL, sử dụng ký tự thoát \'.
Cú pháp
INSERT INTO ten_bang(ten_cot) VALUES('gia_tri\'s');
Ví dụ minh họa
Tạo bảng:
mysql> CREATE TABLE AvoidInsertErrorDemo (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Sentence TEXT
-> );
Chèn dữ liệu có dấu nháy đơn:
mysql> INSERT INTO AvoidInsertErrorDemo(Sentence) VALUES('a woman\'s hat');
mysql> INSERT INTO AvoidInsertErrorDemo(Sentence) VALUES('Mrs. Chang\'s house');
Kết quả:
+----+--------------------+ | Id | Sentence | +----+--------------------+ | 1 | a woman's hat | | 2 | Mrs. Chang's house | +----+--------------------+
Các ký tự thoát phổ biến khác
| Ký tự thoát | Ý nghĩa |
|---|---|
| \' | Dấu nháy đơn |
| \" | Dấu nháy kép |
| \\ | Dấu gạch chéo ngược |
| \n | Xuống dòng |
| \t | Tab |
| \r | Return |
| \b | Backspace |
| \0 | Null byte |
| \% | Dấu % (trong LIKE) |
| \_ | Dấu _ (trong LIKE) |
Mẹo: Khi dùng PreparedStatement trong Java, không cần escape thủ công - driver tự xử lý.