1
mysql> select count(*) from employees;  
+----------+  
| count(*) |  
+----------+  
|    10000 |  
+----------+  
1 row in set (0.01 sec)  

我不明白以下内容:
如果我删除主键,则表示我的表中的所有行都受到影响:

mysql> alter table employees drop primary key;  
Query OK, 10000 rows affected (0.33 sec)  
Records: 10000  Duplicates: 0  Warnings: 0  

但是如果我创建主键 0 行会受到影响。

mysql> alter table employees  
    -> add constraint employees_pk primary key(subsidiary_id, employee_id);  
Query OK, 0 rows affected (0.43 sec)  
Records: 0  Duplicates: 0  Warnings: 0    

我不明白这一点。我知道当我创建主键时,aUNIQUE INDEX被创建为一个单独的数据结构,但为什么DROP PRIMARY KEY所有行都受到影响而创建时没有?

4

1 回答 1

0

可能是因为受影响的行是属于索引的行。由于索引被删除。

于 2013-08-11T09:59:41.880 回答