ปัญหา อัพเกรด Database MySQL MariaDB เป็นเวอร์ชั่นที่สูงขึ้น เจอปัญหา Error Inset update ข้อมูลบาง field ไม่ได้

แชร์ความรู้ Linux Ubuntu Web Server บทความ การ config server Linux FreeBSD Apache
การติดตั้ง XAMPP Mysql PHP ใครต้องการแชร์ความรู้เรื่องต่างๆ เหล่านี้ให้ ท่านหรืออื่น โพสที่หมวดนี้ได้

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41336
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

ปัญหา อัพเกรด Database MySQL MariaDB เป็นเวอร์ชั่นที่สูงขึ้น เจอปัญหา Error Inset update ข้อมูลบาง field ไม่ได้

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ปัญหา อัพเกรด Database MySQL MariaDB เป็นเวอร์ชั่นที่สูงขึ้น เจอปัญหา Error Inset update ข้อมูลบาง field ไม่ได้ เนื่องจากเวอร์ชั่นใหม่ๆ ที่มีการจำกัด กำหนดค่าที่บันทึกให้ตรงกับชนิด fields ในตารางฐานข้อมูล (กฏที่แรงขึ้นกว่าเวอร์ชั่นก่อนๆ)

เวอร์ชั่นที่มีปัญหา เช่น
10.3.31-MariaDB-0ubuntu0.20.04.1 - Ubuntu 20.04

เช็คค่า sql_mode

โค้ด: เลือกทั้งหมด

SELECT @@sql_mode; 
ผลที่ได้
STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
แก้ไข ไฟล์
/etc/mysql/mariadb.conf.d/50-server.cnf

โค้ด: เลือกทั้งหมด

sql_mode="NO_ENGINE_SUBSTITUTION"
กรณีติดตั้ง mariadb ด้วย cyberpanel

Restart Database Server ด้วยคำสั่ง

โค้ด: เลือกทั้งหมด

systemctl restart mysql
รับคำสั่งเช็คค่า อีกครั้ง

โค้ด: เลือกทั้งหมด

SELECT @@sql_mode; 
ผลที่ได้

โค้ด: เลือกทั้งหมด

NO_ENGINE_SUBSTITUTION
แสดงว่าใช้งานได้

หมายเหตุ บทความนี้ใช้กับ Ubuntu 20.x และ เวอร์ชั่นอื่นๆที่ใกล้เคียงได้
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 41