Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ทำไมต้องเปลี่ยน DELIMITER เมื่อสร้าง Trigger ใน MySQL


MySQL ใช้ ; เป็น delimiter คั่นจบคำสั่ง ขณะที่ trigger อาจมีหลายคำสั่งภายใน BEGIN...END หากไม่เปลี่ยน delimiter MySQL จะคิดว่าคำสั่งจบที่ ; แรกที่เจอ จึงต้องเปลี่ยนชั่วคราว เช่น DELIMITER // เพื่อบอกว่า trigger จบที่ // แทน

ตัวอย่าง

mysql> DELIMITER //

ตอนนี้ delimiter คือ // หากต้องการกลับเป็น ; ใช้:

mysql> DELIMITER ;

สำคัญ: ต้องมีช่องว่างระหว่าง DELIMITER และสัญลักษณ์ที่ต้องการ