WordPressシステムでcreated_atに問題があります。どういうわけか、一部のユーザーがそのフィールドを無効な値に「ランダムに」更新するため、「00000000」日時として設定されます。私たちはWPコードの原因を見つけられませんでした。プロジェクトが持つ数少ないプラグインを分析しています。それは大きなコードとユーザベースを持っているので、この "ランダムな"アップデートを捕らえるためにMySQLトリガを使うほうが速いと考えました。トリガーを作成する方法MySQL 5.6
私たちはどういうわけか、シンタックスエラーやトリガコード、ラマーSQLer'sのようなものを覚えていますが、それが何であるか把握するのに役立つ必要があります。私たちが達成するために抱き合わせている何
は次のとおりです。ユーザテーブルが
- は、先ほど作成した新しいテーブルに古いデータを挿入検出しますこの目的のために(user_registration_changed_records)。
奇妙な動作が起こった場合に備えて、各行を確認することにしました。
DELIMITER $$
CREATE TRIGGER `user_register_updated` BEFORE UPDATE ON `wp_t8y31tcd9u_users`
FOR EACH ROW
BEGIN
IF OLD.created_at != NEW.created_at
INSERT INTO user_registration_change_records (user_id, created_at) VALUES (OLD.ID, OLD.created_at)
END IF;
END;$$
DELIMITER ;
ご協力いただきありがとうございます。
構文エラー
#1064 - あなたはあなたのSQL構文でエラーが発生しています。あなたは構文エラーのカップルを持っているライン6
構文エラーは機密情報ですか? – Shadow
私は残念です@陰影それは私がそれがあいまいであることが分かりました、ここは#1064です - あなたはあなたのSQL構文に誤りがあります。あなたのMySQLサーバーのバージョンに対応するマニュアルをチェックして、正しい構文が使用できるようにしてください。 'INSERT INTO user_registration_change_records(user_id、created_at)VALUES(OLD.I' at line 6 –