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    

私はこれを理解していません。主キーを作成するUNIQUE INDEXと、別のデータ構造として作成されることは理解していますが、なぜDROP PRIMARY KEYすべての行が影響を受け、作成時に何も影響を受けないのですか?

4

1 に答える 1

0

おそらく、影響を受けた行がインデックスに属する行であるためです。インデックスが削除されるため。

于 2013-08-11T09:59:41.880 に答える