0

そのため、StackOverflow と MySQL のマニュアルをしばらく調べてみましたが、問題を解決できないようです。私がやろうとしているのは、テーブルが既に存在する場合、テーブルに何も追加しないように、単にデータ INSERT 関数を作成することです。私はいくつかの方法を見ました: INSERT IGNORE 関数は、一意のインデックスと共に、私にとって最良のように思えましたが、なぜそれが機能しないのか分かりません... これが私のコードの一部です (私は持っています2 つの列: 「username」と「email」、私のテーブルは「info4」と呼ばれます):

$unique_index = mysqli_query ($con, "CREATE UNIQUE INDEX index ON info4 ( username, email);");

$insert = mysqli_query($con, "INSERT IGNORE INTO info4 (`username`, `email`) VALUES ('$array_values[0]', '$array_values[1]')");

どこが間違っていますか?何か不足していますか?

4

2 に答える 2

2

index という名前のインデックスを作成することはできません。

Mysql は大文字と小文字を区別しません。「index」という誤った名前の INDEX は機能しません。

例:

mysql> tbladresse (strasse_zusatz) にインデックス index を作成します。エラー 1064 (42000): SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルで、1 行目の「index on tbladresse (strasse_zusatz)」付近で使用する正しい構文を確認してください。

mysql> tbladresse (strasse_zusatz) にインデックス iindex を作成します。クエリ OK、影響を受ける行は 0 (0.03 秒) レコード: 0 重複: 0 警告: 0

于 2013-04-01T20:59:45.737 に答える