2012-02-11 9 views
0

と私はDUPLICATE STATEMENT ON 1で2つの列を更新したいとしますMySQLのDUPLICATE ON UPDATEエラー - 複数の列の計算

INSERT INTO `daily_lead_rollups` (`year`, `month`, `day`, `a_id`, `f_id`, `0_d`,`0_r`) VALUES (NEW.year,NEW.month,NEW.day,NEW.a_id,NEW.f_id, 1,NEW.payout) ON DUPLICATE KEY UPDATE 0_d = 0_d + 1, 0_r =0_r + NEW.payout; 

エラー:

1235 - のMySQLのこのバージョンはまだサポートしています'1つのテーブルに対して同じアクション時間とイベントを持つ複数のトリガー'

複数の行を挿入することができますが、複数の列を計算で更新することについては何も見つかりませんでした。

MySQLはさえ

VALUES

せずに、1回の計算で結構ですが、二つの問題があります!

将来の参照のために声明を修正しましたが、問題は解決しました。

答えて

2

私はあなたがそのようなVALUESしようとしている理由は、非常にわからないんだけど、私はあなたがこれを意味疑う:

manualにDUPLICATE KEY UPDATEで使用する方法のいくつかの良い例もあります
ON DUPLICATE KEY UPDATE 
    0_d = 0_d + 1, 
    0_r = 0_r + NEW.payout 

+0

ええ、これは私が意味したものですが、それでもまだ動作していないようです(同じエラーが発生しました)。元々は0_d = 0_d + 1でした。このマニュアルをもう一度見ていきます... – Len

+0

@Len:問題はエラーメッセージの内容とまったく同じではありませんか。すでに1つのテーブルがありますか? –

+0

このトリガーは実際には、別の依存関係や別の依存関係に基づいて、時間ロールアップの多くのセットで自動生成されます...あなたは絶対に正しいです - 私はドロップトリガーステートメントの1文字でオフになっていました....時々あなたは見ない12時間後に明らかです! – Len

関連する問題