私の古いテーブルには約 600 列ありました。このテーブルを としましょうold_table
。
新しいテーブルには 603 列あります。このテーブルを としましょうnew_table
。
old_table
からにデータをインポートするためにnew_table
、次のアプローチに従ってみました。
$q = mysql_query("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'databasename' AND TABLE_NAME = 'old_table'");
$cols = array();
while($r = mysql_fetch_array($q))
{
$cols[] = $r['COLUMN_NAME'];
}
$sql = "INSERT INTO new_table ";
$sql .= "SELECT ";
$sql .= implode(", ", $cols);
$sql .= " FROM old_table";
mysql_query($sql) or die("Something went wrong: ".mysql_error());
しかし、これはColumn count doesn't match value count at row 1
、クエリが の 3 つの新しい列も考慮に入れているためですnew_table
。
の追加の列をスキップしてnew_table
からすべてのデータを挿入する方法はありold_table
ますか?