csv ファイルを mysql データベースにアップロードする php スクリプトがあります。
データベースにはいくつかの列があります。これらの列の中には「メール」フィールドがあります。email 列に重複した値を含む行を削除する mysql を書きました。以下はmysqlです:
$sql = "CREATE TABLE new_table as SELECT * FROM auto WHERE 1 GROUP BY email";
mysql_query($sql, $conn);
$query = mysql_query("SELECT COUNT(*) FROM new_table");
list($number) = mysql_fetch_row($query);
$query = mysql_query("SELECT COUNT(*) FROM auto");
list($number2) = mysql_fetch_row($query);
$result = $number2 - $number;
mysql_query("DROP TABLE auto");
mysql_query("RENAME TABLE new_table TO auto");
コードは機能し、重複する値を削除します。
問題:
値を含まない行を削除します。そのため、空の 2 つ以上の email 値が重複していると想定し、それらが行であることを削除します。
質問:
空の値を無視するように mysql に指示するにはどうすればよいですか。
助けてくれてありがとう。
編集
私のデータベーステーブルはどこですか。1 つのテーブル。when は、コードを実行するときです。オンデマンドで実行されるphpファイルを入れる予定です。私が期待する結果は、重複した電子メールのない mysql テーブルです。