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

mysqlテーブルを特定のサイズに制限し、最も古いエントリを自動的に削除します

    トリガーを提案します。これは、各挿入で最大テーブルサイズが考慮されていることを確認するための最良の方法です。

    重複の可能性 MySQLテーブルの最大行数を設定するにはどうすればよいですか?

    その受け入れられた答えから:

    テーブルへの新しいレコードの追加を制限してみてください。新しいレコードを追加するときにエラーを発生させます。

    DELIMITER $$
    
    CREATE TRIGGER trigger1
    BEFORE INSERT
    ON table1
    FOR EACH ROW
    BEGIN
      SELECT COUNT(*) INTO @cnt FROM table1;
      IF @cnt >= 25 THEN
        CALL sth(); -- raise an error
      END IF;
    END
    $$
    
    DELIMITER ;
    

    大きなInnoDbテーブルではCOUNT操作が遅くなる可能性があることに注意してください。

    MySQL 5.5では、SIGNALステートメントを使用してエラーを発生させることができます。




    1. 特定の条件が満たされるまでフィールドを自動インクリメントするmysql

    2. mysqlのlat/Longeo検索を最適化するためのヘルプが必要

    3. DockerコンテナからリモートMySQLデータベースに接続します

    4. mysqlクエリSHOWCOLUMNSFROM table like'colmunname':questions