1

正常に動作するmySQLを使用してINSERTを実行するだけです...

 mysql_query("INSERT INTO FLIGHTS_AVAILABLE 
 (aircraftID, aircraftType, maxSeats) VALUES('$theaircraftID', '$addType', '$maxCapacity'      ) ") 
or die(mysql_error());  

 echo '<p>';
 echo "The following details were added into the database:";
 echo "<hr>";

  echo $theaircraftID . $addType . $maxCapacity;

これは問題なく動作しますが、オンラインで調べたところ、IF NOT EXISTS という機能について聞いたことがありますが、その使用法についてオンラインであまり良い説明がありません。

とにかく、たとえば $theaircraftID = 10 で、データベースにaircraftID = 10 の行が既にある場合、クエリは実行されないという条件で、上記のクエリを実行できますか?

あなたが提案できるかもしれない助けをありがとう、

トム

4

2 に答える 2

3

にを追加UNIQUE INDEX'FLIGHTS_AVAILABLE'.'aircraftID'ます。MySQLはINSERT、同じ値を持つ追加のをブロックします。さらに、 incaseON DUPLICATE KEY EXISTSを実行して制約エラーを発生させるために使用できます。UPDATEINSERTDUPLICATE KEY

于 2012-04-21T16:09:37.167 に答える
0

必要な列で一意のインデックスを作成してから、INSERT IGNOREmysql_affected_rowsを使用できます。

于 2012-04-21T16:30:11.413 に答える