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

mysqlで削除された主キーを再利用する方法は?

    使用:

    ALTER TABLE [your table name here] AUTO_INCREMENT = 1
    

    ...は、テーブルに存在する既存の最大値に基づいて、auto_increment値を次の値にリセットします。つまり、複数のギャップを修正するために使用することはできません。

    これを行う唯一の理由は、表面的なものの場合です。データベースは、レコードがシーケンシャルであるかどうかを気にせず、レコードが互いに一貫して関連していることだけを気にします。データベースのために値を「修正」する必要はありません。

    idを表示している場合 ユーザーにとっての値。これが常にシーケンシャルであるようにする理由です。その場合は、代理キーを追加することをお勧めします。ユーザーに表示するために代理キーを使用します。これにより、必要に応じて値を並べ替えることができますが、参照整合性は影響を受けません。この場合の代理キーは整数列になります。



    1. PostgreSQLの特定のスキーマのデータベースに保存されているすべての関数のリストを取得するにはどうすればよいですか?

    2. WHERE句の列の順序は重要ですか?

    3. Rails-MySQLエラー-初期化されていない定数MysqlCompat::MysqlRes

    4. MySQL INSERT-フィールド名にはバックティック/アクセントの省略が必要ですか?