CSVファイルからのINSERT
phpMyAdminとか使えばという話ですが。
それだと話が終わってしまうので、軽めに書いてみました。
define(CSV_FILE, '/path/to/convert.csv'); $db_conn =& DBManager::getConnection(); if (DB::isError($db_conn)) { message($db_conn->getMessage()); exit; } if (!($handle = fopen(CSV_FILE, 'r'))) { message("cannot open csv file"); exit; } $line = 1; while ( ($data = fgetcsv($handle)) !== FALSE ) { *1 $record = new Record(); $record->accept($data); if (!($record->validate() && $record->insert())) { message("line {$i++}: error"); } } define(LOG_FILE, '/path/to/error.log'); function message ($msg) { error_log($msg . "\n", 3, LOG_FILE); }
未検証なので動かないかもしれませんが。
挿入の部分は全部クラス化してしまうのが、他のCSVに対応させる時楽でいいかなと。