どんな助力も受け入れられるでしょう。 :)条件付きのトリガーの正しいMySQL構文は何ですか?
シナリオ:私はMySqlテーブル 'artworkjobs_proudction'を持っています。テーブルの特定のフィールドが特定の条件を満たすと、PHPMyAdminで日付を設定するトリガーを作成しようとしています。それは複数の条件であるため、IF条件のように思えます。
CREATE TRIGGER `createProductionScheduleDate`
AFTER UPDATE ON `artworkjobs_production`
FOR EACH ROW
IF ((OLD.ArtworkStatus = 'Approved' OR NEW.ArtworkStatus = 'Approved')
AND (OLD.isCompleted is NULL OR NEW.isCompleted is NULL)
AND (OLD.isCompleted = 'N' OR NEW.isCompleted = 'N')
AND (OLD.printDueDate <> '0000-00-00 00:00:00' OR NEW.printDueDate <> '0000-00-00 00:00:00')
AND (length(OLD.invoiceNumber) > 0) OR (length(NEW.invoiceNumber) > 0)
AND (OLD.importance > 0) OR NEW.importance > 0) AND (OLD.quantity > 0 OR NEW.quantity > 0)
THEN SET originalProductionDueDate = now()
END IF;
私が受けてるのエラーがある:あなたの要求を処理している間
1つ以上のエラーが発生しましたている: 次のクエリが失敗した:
下記のトリガーがあります<SQL query as stated above>
MySQLは言った:#1193 - 不明なシステム変数 'originalProductionDueDate'
originalProductionDueDate
が正しいフィールドです。 :(
createProductionScheduleDate
はないテーブルの、トリガーの名前で表がartworkjobs_production
ある 私はここに定義した:。。
CREATE TRIGGER createProductionScheduleDate
AFTER UPDATE ON artworkjobs_production
テーブル 'createProductionScheduleDate'の定義を追加してください。 – FDavidov
@FDavidovこれは、テーブルではなくトリガーの名前です。テーブルはartworkjobs_productionです。私がここで定義したのは: 'CREATE TRIGGER createProductionScheduleDate AFTER UPDATE ON artworkjobs_production' –
OOPSS !!!もちろん!!!間違って申し訳ありません。 – FDavidov