Dla każdego, potykając się na to:
Innym rozwiązaniem byłoby zrobić SELECT INTO i diff dwa pliki. Na przykład:
LOAD DATA LOCAL INFILE 'data.txt' INTO TABLE my_table FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\r' IGNORE 1 LINES (title, desc, is_viewable);
SELECT title, desc, is_viewable INTO OUTFILE 'data_rows.txt' FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r' FROM my_table;
Następnie uruchom FileMerge (na Mac OS X) data.txt data_rows.txt, aby zobaczyć różnice. Jeśli otrzymujesz błąd Odmowa dostępu podczas wykonywania SELECT INTO upewnić Cię:
GRANT FILE ON *.* TO 'mysql_user'@'localhost';
flush privileges;
Jako użytkownik root w kliencie mysql.
W moim przypadku brakujące wiersze były spowodowane błędną deklaracją klucza głównego (miałem zduplikowane wiersze), a także brakiem kwalifikatora "null" dla niektórych pól w tabeli (które były czasami puste podczas importowania). Naprawienie schematu stołu rozwiązało mój problem z brakującym rekordem. – patricksurry