LOAD DATA INFILE ของ mysql

คือผมมีปัญหาว่า ผมใช้คำสั่ง
LOAD DATA INFILE INTO TABLE
มีปัญหาคือ หากเป็นไฟล์ขนาดเล็ก จะเข้าได้หมดทุกบรรทัดครับ
แต่หากเป็นไฟล์ใหญ่ๆ เช่น >= 8 MB. ขึ้นไป
เช่น 98841 บรรทัด แต่ข้อมูลจะเข้าได้ 49000 ข้อมูลจะขึ้นได้แค่
ครึ่งเดี่ยว ไม่ทราบว่าจะ set mysql อย่างไรครับ

--------
PHP 5.1
MySQL 5.0.4
Linux CentOS

khao_lek's picture

จากที่ตรวจสอบในวันนี้นะครับ ดูเหมือนว่ามันทำงานแบบกระโดดข้ามนะครับ
เช่น

แถว 1 "8","2007","8","2007","9U","VV","55830","VV","55830","AU","VVV","3354768","","300","5"
แถว 2 "8","2007","8","2007","9U","VV","55830","VV","55830","AU","VVV","3354768","","300","5"
แถว 3 "8","2007","8","2007","9U","VV","55830","VV","55830","AU","VVV","3354768","","300","5"
แถว 4 "8","2007","8","2007","9U","VV","55830","VV","55830","AU","VVV","3354768","","300","5"
แถว 5 "8","2007","8","2007","9U","VV","55830","VV","55830","AU","VVV","3354768","","300","5"
แถว 6 "8","2007","8","2007","9U","VV","55830","VV","55830","AU","VVV","3354768","","300","5"

มันจะทำ แถว 1,แถว 3,แถว 5
ไม่เข้าใจมันเกิดจากอะไรครับ

sugree's picture

ลองดูพวก \r \n

khao_lek's picture

ผมหาตามที่คุณ sugree บอกแล้วครับ ตอนแรกผมใช้ลงท้ายบรรทัดด้วย \n
แล้วผมเปลี่ยนเป็น \r\n ก็ยังได้ผลเหมือนเดิมครับ

sirn's picture

ไม่เคยใช้ LOAD DATA INFILE แฮะ จาก MySQL 5.0 Reference กรณีของ CSV น่าจะต้องบังคับให้มันใช้ \n ตัดบรรทัดด้วย ถ้าไม่ได้ลองแปะคำสั่งที่ใช้ import เต็มๆ ดูหน่อยครับ

LOAD DATA INFILE 'data.txt' INTO TABLE tbl_name
  FIELDS TERMINATED BY ',' ENCLOSED BY '"'
  LINES TERMINATED BY '\n';

ย้าย Codenone

ประกาศย้าย Codenone ไปใช้ Forum ของ Blognone แทนครับ ตามไปตั้งกระทู้ต่อได้ที่ Codenone Forum (รายละเอียดอ่านจากกระทู้ ย้าย Codenone ไปรวมกับ Blognone)

กระทู้เก่าๆ จะย้ายตามไปในภายหลัง ตอนนี้ปิดการโพสต์กระทู้ไว้ เหลือไว้เฉพาะอ้างอิงเท่านั้น