MySQL に自動インクリメント列を追加する
今日の投稿では、MySQL に自動インクリメント カラムを追加する方法を学びます。
MySQL に自動インクリメント列を追加する
テーブルを構築するとき、データベース内に一意の ID がない場合があり、主キーの選択が問題になります。 このような問題に取り組むには、各レコードに手動で一意のキーを割り当てる必要がありますが、これには通常時間がかかります。
その結果、追加された新しいレコードごとに数値の主キー値を作成する自動インクリメント機能を使用できます。
AUTO_INCREMENT
キーワードは、自動インクリメント機能のために MySQL で使用されます。 AUTO_INCREMENT
は 1 から始まり、デフォルトで 1 ずつ増加します。
前の概念をさらに理解するために、次の例を検討してください。
例 1: 新しいテーブルに列を追加します。
CREATE TABLE Employees(
employee_id INT AUTO_INCREMENT PRIMARY KEY,
first_Name VARCHAR(255),
last_Name VARCHAR(255)
);
上記の例では、フィールド employee_id
、first_Name
、および last_Name
を持つ Employees
テーブルを作成しました。 これにより、AUTO_INCREMENT
を使用して employee_id
が自動生成され、データベースの主キーになります。
例 2: 既存のテーブルの列を変更します。
ALTER TABLE `Employees`
MODIFY COLUMN `employee_id` INT NOT NULL AUTO_INCREMENT;
前の例では、フィールド employee_id
、first_Name
、および last_Name
を持つ Employees
テーブルが既にあります。 employee_id
列の既存の属性を変更することにより、AUTO_INCREMENT
を使用して employee_id
を生成します。
自動的に挿入されるため、Employees
テーブルに新しいレコードを追加するときに、employee_id
の値を指定する必要はありません。 最初のレコードのキーは 1 になり、後続の各レコードのキーは 1 ずつ増加します。
INSERT INTO Employees(first_Name, last_Name)
VALUES
('John', 'Doe'),
('Smith', 'Will'),
('Tony', 'Stark');
以下に示すように ALTER TABLE
コマンドを使用して、デフォルトの開始値を変更できます。
ALTER TABLE Employees AUTO_INCREMENT = new_value;
次のように、new_value
をデフォルトの開始値として設定できます。
ALTER TABLE Employees AUTO_INCREMENT = 1001;
この場合、利用したい初期値は new_value
です。 MySQL サーバー変数 AUTO_INCREMENT
に新しい間隔値を与えて、AUTO_INCREMENT
間隔値を 1 以外の数値に変更します。
この例では、この数を 1001 に設定しました。
上記のコード行を、MySQL と互換性のあるブラウザーで実行します。 次の結果が表示されます。
デフォルトの開始値を変更した後:
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn