sql >> データベース >  >> RDS >> Mysql

自動インクリメントフィールドを使用したトリガーの挿入前/後

    新しい増分値を取得するために私が見つけた唯一の方法は、派手な形式ではありません。新しい値を挿入していると想定したので、最大ID + 1:

    であると想定します。
    CREATE TRIGGER mytrigger BEFORE INSERT ON yourtable 
    FOR EACH ROW BEGIN
    SET NEW.thread_id = IF(
    ISNULL(NEW.thread_id), 
    (SELECT MAX(id) + 1 FROM yourtable), 
    NEW.thread_id);
    END;
    

    私の場合はうまくいきました。NULLの場合、最大ID + 1が取得され、これが新しいIDになります。



    1. RailsでActiveRecordを使用して、データベースからn行ごとに返します

    2. mysqlのvarcharに保存されている日付間のデータの検索

    3. Ldap認証およびデータベースオーソリティへのSpringセキュリティスイッチ

    4. MySQL wait_timeoutは、長いクエリに対して受け入れられませんか?