MySQL 中帶有自動增量主鍵的兩列?
使用 MyISAM 引擎實現這一點。下面帶自動增量的兩個列作為主鍵的示例。
建立一個擁有兩個列作為主鍵的表格 −
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)
現在我們可以藉助帶有 order by 子句的選擇語句來檢查記錄。查詢如下。
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)
廣告