以下は一般的なテーブル作成で、列のオプションとして AUTO_INCREMENT を指定し、表のオプションとして AUTO_INCREMENT の初期値を設定しています。
CREATE TABLE `自動主キー` ( `コード` INT AUTO_INCREMENT ,`メッセージ` VARCHAR(100) ,PRIMARY KEY(`コード`) ) AUTO_INCREMENT = 1000
● AUTO_INCREMENT は整数タイプにのみ対応します ● インデックスされた AUTO_INCREMENT カラムに NULL (推奨) か 0 の値を挿入すると、カラムは次のシーケンス値に設定されます ● 行の挿入後に AUTO_INCREMENT 値を取得するには、 LAST_INSERT_ID() SQL 機能を使用します ● 各テーブルに AUTO_INCREMENT カラムは1つだけ存在する事ができます ● インデックスされる必要があります ● DEFAULT 値を持つ事はできません ● AUTO_INCREMENT カラムは正数のみを含んでいる時だけ正しく機能します ● SERIAL 属性は BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE のエイリアスです ● AUTO_INCREMENT 値をリセットする為に ALTER TABLE tbl_name AUTO_INCREMENT = n を実行しますが、その値は、現在カラム内にある最大値よりも小さく設定する事はできません ● AUTO_INCREMENT カラムを追加する為には、以下のような SQL を実行します
ALTER TABLE テーブル名 ADD 列名 INT UNSIGNED NOT NULL AUTO_INCREMENT ,ADD PRIMARY KEY( 列名 )
● 他の属性列を変更する事もできます
ALTER TABLE テーブル名 CHANGE COLUMN 列名 列名 INT UNSIGNED NOT NULL AUTO_INCREMENT ,ADD INDEX ( 列名 )
|
【MySQLの最新記事】
- MySQL に PIPES_AS_CONCAT を設定して、CSV を出力する SQL
- MySQL : DB のデータを簡単に沢山作る方法は inner join
- MySQL で、Group by して合算された行内で最新データの明細を再び取り出す SQL
- MySQL のコマンドラインの操作
- Windows 環境の MySQL から日本語名のテーブルを コマンドプロンプトでエクスポート(mysqldump.exe)する
- MySQLの日本語オンラインマニュアル、5.6 とその中のいくつかの重要なリンク
- MySQL のコマンドプロンプトからの処理用バッチファイル
- MySQL で、主キーの作り変えのプロセス / serial では、自動的に インデックスが作成されます
- MySQL 5.6 (Generally Available (GA) Releases) インストール
- MySQL : 引数の無い LAST_INSERT_ID() と 引数のある LAST_INSERT_ID( n ) の使用方法
- MySQL のプログラムからの経過時間の表現方法( CAST, STR_TO_DATE, GET_FORMAT, DATE_FORMAT, TIMEDIFF )
- MySQL で出退勤の列を datetime 型で持った場合、列を使用して DATEDIFF と TIMEDIFF で直接計算
- MySQL を UTF-8 環境で作成して、mysqldump.exe でバックアップするバッチファイルのサンプル
- MySQL 5.6 : テストデータ自動作成スクリプト
- PHP + MySQL : Windows の COM を使った ODBC 経由での接続とデータの取得(SELECT)
- VBScript + MySQL : ADO( ODBC ) による接続とデータの取得(SELECT)
- PHP + MySQL : Windows における ODBC 経由での接続とデータの取得(SELECT)
- PHP + MySQL : PDO_MySQL での接続とデータの取得(SELECT)
- PHP + MySQL : MySQL 改良版拡張モジュール mysqli クラスでの接続とデータの取得(SELECT)
- PHP + MySQL : PHP 5.5.0 で非推奨の MySQL 関数での接続とデータの取得(SELECT)