MySQL シーケンス AUTO_INCREMENT の詳細な説明とサンプルコード MySQL シーケンスは、1、2、3、... という整数のセットです。データ テーブルには自動増分主キー フィールドを 1 つしか持てないため、他のフィールドの自動増分を実現するには、MySQL シーケンスを使用できます。 この章では、MySQL シーケンスの使用方法を紹介します。 AUTO_INCREMENTの使用 MySQL でシーケンスを使用する最も簡単な方法は、MySQL AUTO_INCREMENT を使用して列を定義することです。 例 次の例では、insequent という名前のデータ テーブルを作成します。insequent の id は、値を指定しなくても自動的に増加します。 mysql> CREATE TABLE 昆虫 -> ( -> id INT UNSIGNED NOT NULL AUTO_INCREMENT、 -> 主キー (id)、 -> name VARCHAR(30) NOT NULL, # 昆虫の種類 -> date DATE NOT NULL、# 収集日 -> origin VARCHAR(30) NOT NULL # 収集場所 ); クエリは正常、影響を受けた行は 0 行 (0.02 秒) mysql> INSERT INTO 昆虫 (id,name,date,origin) 値 -> (NULL,'イエバエ','2001-09-10','キッチン'), -> (NULL,'ヤスデ','2001-09-10','車道'), -> (NULL,'バッタ','2001-09-10','前庭'); クエリは正常、3 行が影響を受けました (0.02 秒) 記録: 3 重複: 0 警告: 0 mysql> SELECT * FROM 昆虫 ORDER BY id; +----+-------------+-------------+-------------+ | ID | 名前 | 日付 | 出典 | +----+-------------+-------------+-------------+ | 1 | イエバエ | 2001-09-10 | キッチン | | 2 | ヤスデ | 2001-09-10 | 車道 | | 3 | バッタ | 2001-09-10 | 前庭 | +----+-------------+-------------+-------------+ セット内の 3 行 (0.00 秒) AUTO_INCREMENT値を取得する MySQL クライアントでは、SQL の LAST_INSERT_ID() 関数を使用して、テーブルに挿入された最後の自動インクリメント列の値を取得できます。 最後に挿入されたテーブルの自動インクリメント列の値を取得するための対応する関数も PHP または PERL スクリプトに用意されています。 PERLの例 AUTO_INCREMENT の値を取得するには、mysql_insertid 属性を使用します。 以下に例を示します。 $dbh->do ("INSERT INTO 昆虫 (名前、日付、起源) VALUES('moth','2001-09-14','windowsill')"); 私の$seq = $dbh->{mysql_insertid}; PHPの例 PHP は、mysql_insert_id() 関数を使用して、実行された挿入 SQL ステートメント内の AUTO_INCREMENT 列の値を取得します。 mysql_query ("INSERT INTO 昆虫 (名前、日付、起源) VALUES('moth','2001-09-14','windowsill')", $conn_id); $seq = mysql_insert_id ($conn_id); リセットシーケンス テーブル内の複数のレコードを削除し、残りのデータの AUTO_INCREMENT 列を再配置する場合は、自動増分列を削除してから再度追加することでこれを実行できます。 ただし、この操作は慎重に実行する必要があります。レコードの削除中に新しいレコードが追加されると、データの混乱が発生する可能性があります。操作は以下のとおりです。 mysql> ALTER TABLE 昆虫 DROP id; mysql> ALTER TABLE 昆虫 -> ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST、 -> 主キー (id) を追加します。 シーケンスの開始値を設定する 通常、シーケンスの開始値は 1 ですが、開始値 100 を指定する必要がある場合は、次のステートメントで指定できます。 mysql> CREATE TABLE 昆虫 -> ( -> id INT UNSIGNED NOT NULL AUTO_INCREMENT = 100, -> 主キー (id)、 -> name VARCHAR(30) NOT NULL, # 昆虫の種類 -> date DATE NOT NULL、# 収集日 -> origin VARCHAR(30) NOT NULL # 収集場所 ); または、テーブルが正常に作成された後に、次のステートメントを使用してこれを実行することもできます。 mysql> ALTER TABLE t AUTO_INCREMENT = 100; 読んでいただきありがとうございます。お役に立てれば幸いです。このサイトをサポートしていただきありがとうございます。 以下もご興味があるかもしれません:
|
>>: Dockerのインストール方法とDockerの4つのネットワークモードの詳細説明
0. システム要件CPU I5-10400F以上メモリ 16 GB、32 GBのメモリが最適ハードド...
FastDFSとNginxの統合:トラッカーは、負荷分散と高可用性のために Nginx と組み合わせ...
環境説明:実行中の MySQL 環境があります。以前の構成ファイルの設定が単純すぎたため (inno...
目次Refsとは何か1. 文字列型参照2. コールバック参照React.createRef() 4....
特記事項: Swoole 拡張機能のみがインストールされ、サーバーはホストにインストールされません。...
目次使用インストールルーティングでどのように使用しますか?読み込み速度の比較最近、中間およびバックエ...
インストール中に遭遇した問題を記録しておきますので、皆様のお役に立てれば幸いです。 1. ダウンロー...
XHTML には多くのタグがありますが、頻繁に使用されるのはごくわずかであり、習得する必要があるのは...
商用データベースの場合、データベースのアップグレードは優先度が高く、バージョンアップのロードマップ、...
ハードウェア上の理由により、機械は標準時間にある程度追いつけない場合があり、その誤差は 1 か月で数...
目次1. 現状2. コミュニティソリューション2.1 事業レビュー3. 技術的ソリューション3.1....
目次1. 何ですか2. 使用数値列挙文字列列挙異種列挙自然3. 応用シナリオ要約する1. 何ですか列...
2011 年に最も顕著なウェブサイトの変更は、一連の製品に新しいユーザー インターフェースを導入した...
この記事では、マーキースタイルのテキストの水平スクロールを実現するためのVueの具体的なコードを参考...
1. CentOS Linuxにffmpegをインストールする1.ダウンロードして解凍する http...