AUTO建立
属性を使用すると、新しい行に一意の識別子を生成できます。
Create表动物INSERT进动物VALUES('dog','cat','penguin','Lase','Where','strich'选择*动物
次の結果が表示されます。
++++++++++++++
AUTO建立
カラムには値が指定されなかったため、MySQL が自動的にシーケンス番号を割り当てました。カラムに明示的に 0 を割り当ててシーケンス番号を生成することもできます。カラムが非NULLL
と宣言されている場合は、NULL
割り当ててシーケンス番号を生成することもできます。
SQL 関数LAST_INSERT_ID()
CAPImysql_insert_id()
を使用すると、最後に生成したAUTO建立
の値を取得できます。これらの関数は接続に固有の関数であるため、別の接続が同様に挿入を実行していても、戻り値は影響を受けません。
AUTO建立
カラムには、必要な最大のシーケンス値を保持するのに十分な大きさを持つ最小の整数データ型を使用します。カラムがデータ型の上限値に到達すると、次にシーケンス番号を生成しようとしたときには失敗します。可能であれば、より広い範囲を可能にするために未签名
属性を使用します。たとえば、TiNYINT
++++++++++++++++++++TiNYINT签名
255+セクション11.2.1「整数型 (真数値) - INTEGER、INT、SMALLINT、TINYINT、MEDIUMINT、BIGINT」を参照してください。
複数行を同時に挿入する場合、LAST_INSERT_ID()
とmysql_insert_id()
は、実際には最初に挿入した行のAUTO建立
キーを返します。これにより、レプリケーションセットアップで複数行の挿入を別のサーバーで正しく再現できます。
1 以外のAUTO建立
値で開始するには、次のように、その値を日期表
または远端表
でセットします。
mysql
innoDB++
innoDB
テーブルでは、一連の监听器
ステートメントの途中で自動インクリメント値を含むカラムを修正する場合は注意が必要です。たとえば、更新
ステートメントを使用して、自動インクリメントカラムに新しくより大きい値を入れると、後続の监听器
は「重複」エラーになる場合があります。开发者
を実行したあとでさらに监听器
ステートメントが続く場合、またはトランザクションを协和
したが更新
ステートメントのあとではない場合に、自動インクリメント値がすでに存在するかどうかのテストが行われます。
MyISAM
MyISAM
テーブルには、マルチカラムインデックス内のセカンダリカラムにAUTO建立
を指定することができます。この場合、AUTO建立
カラムに生成される値は、MAX(MAX)
として計算されます。これは、データを順序付きのグループに分割する場合に便利です。auto_increment_column
+1前缀=给定前缀
CREATE可容性动物grp ENOM(Fish's,'mamal','Bird')notNULLLVALUES(mamal's,dog's),(mamal's,cat's),(bird's,penguin's),(fish's,Laxi's),(mamal's,where's),(bird's选择*动物命令按grpid
次の結果が表示されます。
+++++
この場合 (
AUTO建立
カラムがマルチカラムインデックスの一部として使用されている場合)、グループ内で最大のAUTO建立
値を持つ行を削除すると、そのグループで同じAUTO建立
値が再使用されることになります。これは、通常はAUTO建立
値が再使用されることのないMyISAM
テーブルの場合にも発生します。AUTO建立
MySQLAUTO建立
カラムで始まるインデックスを使用してシーケンス値を生成します (ある場合)。たとえば、动物类
テーブルにインデックス初级关键字
とINDEX(id)
MySQL初级密钥
を無視します。その結果、テーブルにはgr
####################################################
参照情報
AUTO建立
に関する詳細の参照先を次に示します。
カラムに
AUTO建立
属性を割り当てる方法:+13.1.17'Create表、および+13.1.7表中文本不译AUTO建立
の、NO_AUTO_VALUE_ON_ZERO
SQL######セクション5.1.7「サーバー SQL モード」中文本不译LAST_INSERT_ID()
関数を使用して最新のAUTO建立
値を見つける方法:セクション12.14「情報関数」中文本不译使用する
AUTO建立
値の設定:セクション5.1.4「サーバーシステム変数」中文本不译AUTO建立
とレプリケーション:セクション17.4.1.1「レプリケーションと AUTO_INCREMENT」中文本不译レプリケーションに使用できる
AUTO建立
関連のサーバーシステム変数 (auto_increment_increment
とauto_increment_offset
:セクション5.1.4「サーバーシステム変数」中文本不译