申し訳ありませんこれまでに質問されている場合は申し訳ありませんが、SEではここのケースに関連するものは見つかりませんでした。PHP - 自動増分ID付きのCSVインポート
CSVファイルをCSVファイルにインポートしようとしていますが、テーブルの列番号ID
がCSVファイルにないことを除いて、CSVファイルはCSVファイルと同じ量と順序でCSVファイルにインポートしようとしています。
私が達成したいのは、各レコードで自動的に増加する数字ID
を生成しながら、CSVをテーブルにインポートすることです。 CSVは常にテーブルの最初の列にデータを挿入するように見えるので、これは可能ではないようですが、私の場合は2列目にする必要があります。
私はこれにどのようにアプローチし、勉強できる参考コードはありますか?私は現在、このPDOアプローチを取り組んでいますが、上記の困難を抱えています。
PHP
<?php
$databasehost = "localhost";
$databasename = "test";
$databasetable = "sample";
$databaseusername="test";
$databasepassword = "";
$fieldseparator = ",";
$lineseparator = "\n";
$csvfile = "filename.csv";
if(!file_exists($csvfile)) {
die("File not found. Make sure you specified the correct path.");
}
try {
$pdo = new PDO("mysql:host=$databasehost;dbname=$databasename",
$databaseusername, $databasepassword,
array(
PDO::MYSQL_ATTR_LOCAL_INFILE => true,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
)
);
} catch (PDOException $e) {
die("database connection failed: ".$e->getMessage());
}
$affectedRows = $pdo->exec("
LOAD DATA LOCAL INFILE ".$pdo->quote($csvfile)." INTO TABLE `$databasetable`
FIELDS TERMINATED BY ".$pdo->quote($fieldseparator)."
LINES TERMINATED BY ".$pdo->quote($lineseparator));
echo "Loaded a total of $affectedRows records from this csv file.\n";
?>
が
phpMyAdminを使用していますか? –
私はCronJob経由でPHPベースでこれを行う必要があります。しかし、私はphpMyAdminを利用できます。 – Armitage2k
これまでのコードを表示できますか? – LBA