0

私はPHPを始めたばかりで、誰かが助けてくれるかどうか疑問に思っていました. 私はこれを持っています

$sql="INSERT INTO $tbl_name SET date='$mydate' , event='$myevent'";
$result=mysql_query($sql);

イベントが存在するかどうかを確認する方法を知る必要があります。存在する場合は何もしない必要があり、存在しない場合は挿入します!

4

3 に答える 3

0

これは、MySQL だけで実行できることです。

テーブルで次の MySQL コマンドを実行して、イベント列の一意のキーを設定します。

CREATE UNIQUE INDEX `i_event` ON `TABLE_NAME_GOES_HERE` (`event`);

詳細情報: http://dev.mysql.com/doc/refman/5.0/en/create-index.html

$tbl_name 変数に表示される可能性のあるすべてのテーブルに対してこれを行います。

次に、PHP クエリを変更します。

$sql="INSERT IGNORE INTO $tbl_name SET date='$mydate' , event='$myevent'";
$result=mysql_query($sql);

INSERT IGNORE の詳細については、http://dev.mysql.com/doc/refman/5.5/en/insert.html を参照してください

INSERT IGNORE は、それが示すように単純に実行します...検証に失敗しない限り、行を挿入しようとします(この場合、HASが一意であると宣言したインデックスから)。

于 2013-07-25T10:46:14.317 に答える
0

2 つのクエリに分割します。

1) イベントが存在するかどうかを確認します。はいの場合は何もせず、そうでない場合は新しいイベントを挿入します

2) クエリを続行します。このようにして、データを挿入するときにイベントが存在しなくなります

于 2013-07-25T10:38:37.447 に答える