gpt4 book ai didi

MySQL:删除主键会删除唯一约束和/或索引吗?

转载 作者:行者123 更新时间:2023-11-29 06:40:31 48 4
gpt4 key购买 nike

我有一个表,其中第 1 列设置为主键。我相信它因此具有唯一的约束和索引。现在我想引入 column2 作为新的主键,但我想将 column1 保留为具有唯一约束和索引的辅助键。问题是:如果我会执行

alter table my_table drop primary key;

它会从 MySQL (InnoDB) 的 column1 中删除唯一约束和/或索引吗?

最佳答案

是的,它将删除现有的主键。你可以像下面这样尝试

DROP TABLE IF EXISTS test_index;
Query OK, 0 rows affected (0.04 sec)

CREATE TABLE test_index(ID INT , PRIMARY KEY(ID));
Query OK, 0 rows affected (0.25 sec)

ALTER TABLE test_index ADD COLUMN email CHAR(50) NOT NULL;
Query OK, 0 rows affected (0.33 sec)
Records: 0 Duplicates: 0 Warnings: 0

ALTER TABLE test_index DROP PRIMARY KEY , ADD UNIQUE KEY (ID) , ADD PRIMARY KEY(email);
Query OK, 0 rows affected (0.48 sec)
Records: 0 Duplicates: 0 Warnings: 0

show create table test_index\G
*************************** 1. row ***************************
Table: test_index
Create Table: CREATE TABLE `test_index` (
`ID` int(11) NOT NULL DEFAULT '0',
`email` char(50) NOT NULL,
PRIMARY KEY (`email`),
UNIQUE KEY `ID` (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

关于MySQL:删除主键会删除唯一约束和/或索引吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21845205/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com