เว็บสำเร็จรูป เว็บสำเร็จรูปภาครัฐ เว็บโรงเรียน เว็บไซต์ส่วนตัว ระบบบริหารจัดการเว็บไซต์ (CMS) ฟรี

หลังการติดตั้ง เข้าระบบแอดมินพบ error SQLSTATE[42000]: Syntax error or access violation: 1055 Expression

หลังจากการติดตั้งเรียบร้อย และได้ทำการเข้าระบบครั้งแรก ก็เจอกับ Error นี้เลย
สาเหตุ เป็นเพราะมีการเปิดใช้ SQL_MODE บางตัวไว้ (จาก Error บอกว่าคือ only_full_group_by)  ทำให้การ Query บางอย่างให้ผลลัพท์ผิดพลาด

การแก้ไข ให้เอาตัวแปรนี้ออกจากการตั้งค่า SQL_MODE แต่เนื่องจาก โดยทั่วๆไป หากมีการตั้งค่านี้ไว้อาจเป็นไปได้ว่าจะมีการตั้งค่าอื่นๆ ที่ก่อให้เกิดปัญหากับ GCMS ด้วยได้ และโดยปกติแล้วค่าเริ่มต้นของตวแปรนี้ จะเป็นค่าว่าง ดังนั้นการแก้ปัญหาอาจใส่ค่าว่างลงไปเลยก็ได้
ปัญหาที่เกิดขึ้นจากการตั้งค่า SQL_MODE ไว้มีได้หลายอย่าง เช่น
  • ไม่สามารถเพิ่มข้อมูลได้ แต่สามารถแก้ไขได้ (เป็นกับข้อมูลบางรายการ)
  • ไม่สามารถเขียนข่าวหรือแก้ไขข่าวได้ ถ้าแก้ไขข่าวเมื่อไรข่าวจะหายไปเลย
ถ้าเจอปัญหาเหล่านี้ สามารถแก้ไขได้ด้วยวิธีเดียวกันนี้ได้ทั้งหมด
วิธีแก้ไข เปิดไฟลตั้งค่า mysql เช่น mysqld.cnf หรือ my.cnf หรือ my.ini แล้วแต่เวอร์ชั่นของ MySQL ที่ใช้
sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf

เพิ่มบรรทัด
sql-mode=""

ลงใน section [mysqld] บนไฟล์ตามตัวอย่าง
เสร็จแล้วบันทึก และ restart mysql
service mysql restart

ดูเพิ่มเติม http://dev.mysql.com/...5.7/en/sql-mode.html

เรื่องที่เกี่ยวข้อง

^