ใช้ Escape character \' (Backslash + Single Quote) เพื่อใส่ Single Quote ลงในข้อมูล
ไวยากรณ์
INSERT INTO yourTableName(yourColumnName) VALUES('yourValue\'s');
ตัวอย่างการใช้งาน
สร้างตาราง:
mysql> create table AvoidInsertErrorDemo (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Sentence text
-> );
Query OK, 0 rows affected (0.53 sec)
เพิ่มข้อมูลที่มี Single Quote:
mysql> insert into AvoidInsertErrorDemo(Sentence) values('a woman\'s hat');
mysql> insert into AvoidInsertErrorDemo(Sentence) values('Mrs. Chang\'s house');
ผลลัพธ์ (Single Quote ถูกเก็บไว้ได้ถูกต้อง):
+----+--------------------+ | Id | Sentence | +----+--------------------+ | 1 | a woman's hat | | 2 | Mrs. Chang's house | +----+--------------------+
วิธีอื่นๆ
- ใช้ Double Quote ครอบ:
"a woman's hat"(ถ้าตั้งค่า ANSI_QUOTES OFF) - ใช้ Prepared Statement ในโปรแกรม (ไม่ต้อง escape เอง)
- ใน MySQL Shell ใช้
\\'(Double backslash)