0

MySQL内でイベントを作成しようとしているPHPコードに問題があります。私は次のような文字列を作成することから始めます:

<?php
$sql="DELIMITER $$ CREATE EVENT `$test_name` ON SCHEDULE EVERY $time1 $sched2 
STARTS '$start_date $start_time' DO BEGIN ";
$sql .="INSERT INTO blah (foo,bar); ";
$sql .="END$$ DELIMITER ;";

mysql_query($sql,$dbh);
?>

しかし、。で始まる構文エラーが発生し続けDELIMITER $$ CREATE EVENTます。イベントの背後にセミコロンがない(foo,bar);と、実行されていないペイロードでトリガーされます。

私がどこで間違っているのかについてのアイデアはありますか?

ありがとう!

4

1 に答える 1

0

さらに調査した結果、mysql インターフェースが DELIMITER とうまく連携していないことが判明しました。mysqli への切り替えが機能しました。

なんらかの理由で、気付かないうちにグローバルスケジューラも実行を停止したため、「show processlist」で確認して再起動すると、ジョブが起動しています。だから、DELIMITERノイズなしで実行されると思います。

于 2012-06-07T17:53:52.233 に答える