MySQLの自動インクリメントを使用する主キーとしての2つの列?
MyISAMエンジンを使用してこれを実現します。これは、自動インクリメントを使用する主キーとしての2つの列の例です。
主キーとして2つの列を持つテーブルを作成する-
mysql> create table TwoPrimaryKeyTableDemo -> ( -> Result ENUM('First','Second','Third','Fail') not null, -> StudentId int not null auto_increment, -> StudentName varchar(200) not null, -> Primary key(Result,StudentId) -> ) -> ENGINE=MyISAM; Query OK, 0 rows affected (0.20 sec)
テーブルへのレコードの挿入
mysql> insert into TwoPrimaryKeyTableDemo(StudentName,Result) values('John','Fail'); Query OK, 1 row affected (0.42 sec) mysql> insert into TwoPrimaryKeyTableDemo(StudentName,Result)values('Carol','First'); Query OK, 1 row affected (0.09 sec) mysql> insert into TwoPrimaryKeyTableDemo(StudentName,Result) values('Smith','Third'); Query OK, 1 row affected (0.05 sec) mysql> insert into TwoPrimaryKeyTableDemo(StudentName,Result) values('Johnson','Second'); Query OK, 1 row affected (0.03 sec) mysql> insert into TwoPrimaryKeyTableDemo(StudentName,Result) values('Johnson','Third'); Query OK, 1 row affected (0.06 sec) mysql> insert into TwoPrimaryKeyTableDemo(StudentName,Result) values('Carol','Second'); Query OK, 1 row affected (0.18 sec) mysql> insert into TwoPrimaryKeyTableDemo(StudentName,Result) values('Carol','Fail'); Query OK, 1 row affected (0.05 sec)
これで、orderby句を使用したselectステートメントを使用してレコードを確認できます。クエリは次のとおりです。
mysql> select *from TwoPrimaryKeyTableDemo order by StudentId,Result;
以下は出力です-
+--------+-----------+-------------+ | Result | StudentId | StudentName | +--------+-----------+-------------+ | First | 1 | Carol | | Second | 1 | Johnson | | Third | 1 | Smith | | Fail | 1 | John | | Second | 2 | Carol | | Third | 2 | Johnson | | Fail | 2 | Carol | +--------+-----------+-------------+ 7 rows in set (0.00 sec)
-
MySQLで主キーをリセットする
主キーをリセットするには、最初にTRUNCATEテーブルを使用し、次にALTERTABLEを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1929 ( UserId int NOT NULL AUTO_INCREMENT, PRIMARY KEY(UserId) ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql>
-
MySQLでのAUTO_INCREMENT列の操作
MySQLでAUTO_INCREMENT列を操作する方法を理解しましょう- AUTO_INCREMENT属性は、新しい行の一意のIDを生成するために使用されます。このステートメントがどのように機能するかを見てみましょう。その前に、以下のクエリを検討してください- クエリ CREATE TABLE tableName ( id MEDIUMINT NOT NULL AUTO_INCREMENT, name CHAR(30) NOT NULL, PRIMARY KEY (id) ); INSERT INTO tableName (name