在MySQL 中建立表格時,可能會遇到兩個用於索引資料的術語:INDEX 和KEY 。雖然這兩個術語具有相同的目的,但它們的用法有細微的差別。
INDEX 和 KEY 的定義
Create Table 語句中的用法
在 Create Table 語句中,可以互換使用 INDEX 或 KEY 。例如,以下兩個語句是等效的:
CREATE TABLE tasks ( task_id INT UNSIGNED NOT NULL AUTO_INCREMENT, parent_id INT UNSIGNED NOT NULL DEFAULT 0, task VARCHAR(100) NOT NULL, PRIMARY KEY (task_id), INDEX parent (parent_id) ); CREATE TABLE orders ( order_id INT UNSIGNED NOT NULL AUTO_INCREMENT, KEY order_date (order_date) );
唯一索引與非唯一索引
雖然INDEX 和KEY 都可以建立非唯一索引,值得注意的是,主鍵根據定義是唯一的。這表示 PRIMARY KEY 欄位中的值唯一標識表中的每一行。另一方面,INDEX 和 KEY 允許重複值。
主鍵作為 KEY
在 MySQL 中,您可以使用 KEY 關鍵字定義主鍵。但是,建議明確使用 PRIMARY KEY 關鍵字以避免混淆。例如:
CREATE TABLE customers ( customer_id INT UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(100) NOT NULL, PRIMARY KEY (customer_id) );
推薦
雖然KEY 和INDEX 在MySQL 中是同義詞,但通常建議使用INDEX,因為它符合ISO SQL 標準並改進便攜性。
以上是MySQL建表中INDEX和KEY有什麼差別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!