Nếu nhiều database có table giống nhau thì fixed cứng luôn một dòng nhập tay các tên cột trong file CSV rồi chỉ lấy dữ liệu ra chèn vào.
Hơn nữa, trình bày nghe rối mù: tên cột table CSDL đâu có dùng câu lệnh select bình thường với dữ liệu mà lấy ra được. Nghĩa là làm gì có chuyện lấy được tên cột như là giá trị
, mà tên cột đã có trong câu SQL rồi, trùng là trùng sao -> tối nghĩa.
Còn nếu cần bỏ qua dòng đầu tiên thì khi kết quả query trả về ta bỏ qua kết quả đầu tiên, từ kết quả thứ 2 trở đi mà thôi, cái này quá căn bản, lăn tăn cái gì nhỉ? Đơn giản nó là mảng thì ta có thể chạy từ 1 trở đi, hoặc remove phần tử 0 ra khỏi mảng trươc khi lấy dữ liệu.
Còn chuyện không xử lý được là có trùng hay không mà đọc lại file CSV để tra trùng thì càng tào lao vì CSDL lúc này dùng để làm gì?
Cho nên, túm lại là cần phải nâng cao kỹ năng về CSDL hoặc kỹ năng viết mã PHP chứ yếu cả 2 thế này, trình bày nghe rất mù mờ với chính bản thân, người khác nghe cũng không hình dung đang nói gì, sao mà xử lý được?
Cách của mình trong trường hợp này là đọc CSDL từ các bảng khác nhau và INSERT INTO … WHERE NOT EXISTS vào một bảng dài để mỗi kết quả là duy nhất, sau đó mới dump cái bảng này ra CSV và không dại dùng PHP vì quá chậm, gõ lệnh SQL trên console mysql nó dump ra nhanh hơn dùng PHP và khó bị timeout.