2017-06-24 37 views
2

如何刪除列鍵在MySQL?(主鍵,外,獨特的全)如何刪除mysql中列的鍵約束?

這裏我給出主鍵列ID

ALTER TABLE table ADD PRIMARY KEY(id); 

現在我要刪除它,並沒有任何鍵列ID 是有使用任何way.i,

ALTER TABLE `table` MODIFY `id` INT 

但它實際上給UNIQUE鍵

回答

0

您可以使用

ALTER TABLE `table` MODIFY `id` INT ; 
ALTER TABLE `table` DROP PRIMARY KEY; 
+0

是'ALTER TABLE '表' 修改 '身份證' INT;'它的工作原理,但它給了UNIQUE鍵,使我不想。執行後查看查詢結果是'FIELD = id TYPE = int(11)COLLATION =(null)NULL = yes KEY = UNI' –

0

嗨,你可以運行下面的命令:

ALTER TABLE tableName修改列ID INT,DROP PRIMARY KEY;

mysql> desc TestTable; 
 

 
+-------+-------------+------+-----+---------+-------+ 
 
| Field | Type  | Null | Key | Default | Extra | 
 
+-------+-------------+------+-----+---------+-------+ 
 
| id | int(10)  | NO | PRI | NULL |  | 
 
| name | varchar(30) | NO |  | NULL |  | 
 
+-------+-------------+------+-----+---------+-------+ 
 
2 rows in set (0.05 sec) 
 

 
mysql> ALTER TABLE TestTable MODIFY COLUMN id INT(10),DROP PRIMARY KEY; 
 
Query OK, 0 rows affected (0.62 sec) 
 
Records: 0 Duplicates: 0 Warnings: 0 
 

 
mysql> desc TestTable; 
 
+-------+-------------+------+-----+---------+-------+ 
 
| Field | Type  | Null | Key | Default | Extra | 
 
+-------+-------------+------+-----+---------+-------+ 
 
| id | int(10)  | YES |  | NULL |  | 
 
| name | varchar(30) | NO |  | NULL |  | 
 
+-------+-------------+------+-----+---------+-------+ 
 
2 rows in set (0.00 sec)

+0

你能正確格式化嗎?很難說出它的意思。 – Brick

+0

謝謝它的作品...但是隻有一個**查詢**刪除所有類型的鍵從表? –

+0

@Akib Bagwan:是的,通過使用Alter命令,您可以從桌子上放下按鍵。 – Jethan