1

私はMySQLの初心者です。以下の機能のユーザー定義関数が必要です。UNIQUE、AUTO-INCREMENT、NOT NULL 値を持つ行 ID 列を持つテーブルがあります。テーブルに 100 行ある場合、次の ID 値はデフォルトで 101 に設定されます。ただし、50 行を削除してから新しい行を追加すると、再び 101 になりますが、51 ではありません。現在の番号に従って値を更新する関数を作成して呼び出す方法of rows.Plz は、完全な機能コードと、テーブルでいくつかの行が削除されたときにそれを呼び出す方法を提供します。

4

1 に答える 1

0

以下を試すことができます:

SET @count = 0;
UPDATE `tblName` SET `id` = @count:= @count + 1;

ただし、自動インクリメント フィールドはこの目的のために設計されていないため、削除された行の自動インクリメント ID を再利用することはお勧めできません。id フィールドは他のテーブルとの関連で外部キーとして使用される可能性があるため、これは特に重要です。

于 2012-07-27T07:45:26.983 に答える