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

วิธีปิด ONLY_FULL_GROUP_BY ใน MySQL

เปิดใช้งาน ONLY_FULL_GROUP_BY

mysql> SET sql_mode = 'ONLY_FULL_GROUP_BY';
Query OK, 0 rows affected (0.01 sec)

ปิดใช้งาน ONLY_FULL_GROUP_BY

mysql> SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
Query OK, 0 rows affected (0.04 sec)

คำอธิบาย

  • คำสั่งแรก: เปิดโหมดเข้มงวดสำหรับ GROUP BY
  • คำสั่งที่สอง: ปิดโหมดดังกล่าวโดยใช้ REPLACE ลบคำว่า ONLY_FULL_GROUP_BY ออกจาก @@sql_mode
  • ใช้ GLOBAL เพื่อมีผลต่อเซสชันใหม่ทั้งหมด

หมายเหตุ: การเปลี่ยน sql_mode อาจส่งผลต่อการทำงานของ Query ที่มี GROUP BY ควรทดสอบก่อนนำไปใช้ Production