ปิดโหมด ONLY FULL GROUP BY ใน MySQL


ใน MySQL Version ใหม่ๆ น่าจะตั้งแต่เวอร์ชั่น 5.7.5 ขึ้นมา จะเปิด sql_mode เป็น only_full_group_by มาเป็นค่า Default ไว้เลย

ทำให้คนที่เคยใช้การ Group by แบบหลายๆ Table ด้วยตัวหลักตัวเดียว จะทำให้เกิด Error แบบนี้ครับ

ซึ่งปัญหามันเกิดจากการเขียน JOIN กันไปหลายๆ Table แต่สั่ง Group by แค่ฟิลด์จากตารางเดียว ตอนนี้เหมือนจะทำไม่ได้แล้ว ต้องสั่ง Group by คีย์หลักจากทุกตารางที่ทำการ JOIN ด้วย

แต่ถ้าใครยังไม่อยากแก้โค้ดตอนนี้ การสั่งปิด Mode ตัวนี้ก็น่าจะง่ายกว่า…

ปิดโหมดใน PhpMyAdmin

เมื่อเข้ามาแล้ว ในหน้าแรกให้เลือกไปที่เมนู Variables

แล้วทำการค้นหาอย่างรวดเร็วด้วยคำว่า sql_mode


ในช่อง Value ก็จะเห็นแล้วว่ามันมีคำว่า ONLY_FULL_GROUP_BY อยู่ และเราควรจะเอามันออก กด Edit กันเลย

เมื่อกด Edit แล้วก็ทำการลบค่า ONLY_FULL_GROUP_BY ทิ้งเลย

จากนั้นกด Save ก็เสร็จแล้วจ้า

ตอนนี้พอไปรันหน้าเว็บของเราก็จะเห็นว่ามันไม่ฟ้อง Error sql_mode=in_full_group_by แล้ว

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
Navigate

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • คุกกี้ที่จำเป็น
    เปิดใช้งานตลอด

    ประเภทของคุกกี้มีความจำเป็นสำหรับการทำงานของเว็บไซต์ เพื่อให้คุณสามารถใช้ได้อย่างเป็นปกติ และเข้าชมเว็บไซต์ คุณไม่สามารถปิดการทำงานของคุกกี้นี้ในระบบเว็บไซต์ของเราได้

  • คุกกี้เพื่อการวิเคราะห์

    คุกกี้นี้เป็นการเก็บข้อมูลสาธารณะสำหรับการวิเคราะห์ และเก็บสถิติการใช้งานภายในเว็บไซต์นี้เท่านั้น ไม่ได้เก็บข้อมูลส่วนตัวที่ไม่เป็นสาธารณะใดๆ ของผู้ใช้งาน

บันทึกการตั้งค่า