如何確保MySQL行是唯一的?


要確保MySQL行是唯一的,需要使用唯一約束。讓我們先建立一個表−

mysql> create table DemoTable1580
   -> (
   -> id int,
   -> Name varchar(20),
   -> Age int
   -> );
Query OK, 0 rows affected (0.73 sec)

這裡有一個查詢,它建立唯一約束以確保MySQL行是唯一的−

mysql> alter table DemoTable1580 add unique index(id,Name,Age);
Query OK, 0 rows affected (0.45 sec)
Records: 0  Duplicates: 0  Warnings: 0

使用插入命令在表中插入一些記錄−

mysql> insert into DemoTable1580 values(101,'Chris',21);
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable1580 values(102,'Chris',21);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1580 values(102,'David',21);
Query OK, 1 row affected (0.49 sec)
mysql> insert into DemoTable1580 values(101,'Chris',21);
ERROR 1062 (23000): Duplicate entry '101-Chris-21' for key 'id'

使用選擇語句從表中顯示所有記錄−

mysql> select * from DemoTable1580;

這將產生以下輸出−

+------+-------+------+
| id   | Name  | Age  |
+------+-------+------+
|  101 | Chris |   21 |
|  102 | Chris |   21 |
|  102 | David |   21 |
+------+-------+------+
3 rows in set (0.00 sec)

更新日期:2019-12-16

374次瀏覽

為您的 職業 進行啟動

填寫課程以獲得證書

開始
廣告
© . All rights reserved.