คอมพิวเตอร์และอินเตอร์เน็ต,บรรยายวิชาการ,วิจัย,ศึกษากุรอาน,E-Book

วันอังคารที่ 3 สิงหาคม พ.ศ. 2564

MySQL to PostgreSQL Convert

 


                       การ convert ข้อมูลจาก Mysql เข้าใน PostgreSQL จะมีปัญหาเรื่องการ set ค่า Default ของฟิวด์ที่เป็น Date ซึ่ง Postgres จะรับค่า Default Date (กรณีไม่กรอกค่าDate) ต้องเป็นค่า NULL เท่านั้น(แต่ใน Mysql จะเป็นค่า '0000-00-00' เว้นแต่ต้องระบุที่ field ว่าเป็นค่า NULL เท่านั้น)

วิธีแก้ ดังนี้

1.ต้องระบุที่ field date ว่า default เป็น NULL (ติ๊กที่ null ในแก้ไขฟิวด์ของ phpmyadmin)

2.Run คำสั่ง SQL ของทุกฟิวด์ที่เป็น Date ดังนี้ เช่น

     UPDATE qa_self_t8 SET vac_date=NULL WHERE vac_date='0000-00-00'

3.แล้วค่อย export เป็น CSV (ไม่ใช่ CSV for MS Excel)

4.import ด้วย HeidiSQL ดังนี้


ปล.  อย่าลืมสร้างตารางใน PostgreSQL รอก่อน โดยใช้บริการแปลง SQL จาก http://www.sqlines.com/online




ไม่มีความคิดเห็น: