MySQL の ID 列
今日の投稿では、MySQL の IDENTITY
列に相当するものについて学びます。
MySQL のIDENTITY
カラム
テーブルを作成するとき、データベースに一意の ID がない場合があるため、主キー
の選択が難しくなります。 このような問題に対処するには、各レコードに手動で一意のキーを割り当てる必要がありますが、これには多くの場合時間がかかります。
Microsoft SQL Server では、テーブルの IDENTITY
列は値が自動的に増加する列です。 サーバーは IDENTITY
列の値を生成します。
ほとんどの場合、ユーザーは IDENTITY
列に値を追加できません。 テーブルの行は、IDENTITY
列を使用して一意に識別できます。
構文:
IDENTITY [( starting_value, increment_value)]
MySQL の AUTO_INCREMENT
関数は、Microsoft SQL Server の IDENTITY
列に相当します。 SQL Server では、IDENTITY
は MySQL の AUTO_INCREMENT
と同様に機能します。
MySQL では、AUTO_INCREMENT
キーワードを使用して自動インクリメントを有効にします。 AUTO_INCREMENT
はデフォルトで 1 から始まり、1 ずつ増加します。
構文:
CREATE TABLE table_name
(
column_1 dataType AUTO_INCREMENT PRIMARY KEY,
column_2 dataType,
);
この場合、table_name
パラメータは、列を作成するテーブルの名前を指定します。 データベース エラーを防ぐには、MySQL 列が自動インクリメントの場合、主キー
を入力する必要があります。
自動インクリメント列に値を指定しない場合、MySQL の AUTO_INCREMENT
関数は 1 から始まり、デフォルトで次の数値を 1 ずつ増やします。
前のアイデアをよりよく理解するために、次の例を検討してください。
CREATE TABLE Orders(
order_id INT AUTO_INCREMENT,
product_name VARCHAR(255),
sku VARCHAR(255)
);
CREATE TABLE Orders(
order_id INT AUTO_INCREMENT PRIMARY KEY,
product_name VARCHAR(255),
sku VARCHAR(255)
);
前の例では、order_id
、product_name
、および SKU
フィールドを持つ Orders
テーブルを作成しました。 AUTO_INCREMENT
を使用して order_id
を自動生成します。
最初のケースでは、問題を特定するために主キーが指定されていません。 ただし、2 番目の例では、order_id
がデータベースの主キーとして使用されています。
上記のコード行を、MySQL と互換性のあるブラウザーで実行します。 次の結果が表示されます。
ERROR 1075 (42000) − Incorrect table definition; there can be only one auto column and it must be defined as a key
Query OK, 0 rows affected (0.59 sec)
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