如何在MariaDB中删除无法删除的幻影主键?

yjghlzjz  于 2023-08-05  发布在  其他
关注(0)|答案(1)|浏览(134)

有一个主键我不能删除,还有一个唯一的键我看不到。我使用MariaDB 11.0.2。

描述表

MariaDB [My_Data_Base]> describe Languages;
+-----------+----------+------+-----+---------+-------+
| Field     | Type     | Null | Key | Default | Extra |
+-----------+----------+------+-----+---------+-------+
| Name      | char(49) | YES  |     | NULL    |       |
| ISO_639_1 | char(2)  | NO   | PRI | NULL    |       |
+-----------+----------+------+-----+---------+-------+
2 rows in set (0,001 sec)

字符串

不能丢弃主键

MariaDB [My_Data_Base]> ALTER TABLE Languages DROP PRIMARY KEY;
ERROR 1091 (42000): Can't DROP INDEX `PRIMARY`; check that it exists

一团糟

MariaDB [My_Data_Base]> select constraint_name, constraint_type from information_schema.table_constraints where table_name = 'Languages';
+-----------------+-----------------+
| constraint_name | constraint_type |
+-----------------+-----------------+
| Languages_UN    | UNIQUE          |
+-----------------+-----------------+
1 row in set (0,001 sec)

MariaDB [My_Data_Base]> describe Languages;
+-----------+----------+------+-----+---------+-------+
| Field     | Type     | Null | Key | Default | Extra |
+-----------+----------+------+-----+---------+-------+
| Name      | char(49) | YES  |     | NULL    |       |
| ISO_639_1 | char(2)  | NO   | PRI | NULL    |       |
+-----------+----------+------+-----+---------+-------+
2 rows in set (0,001 sec)


我能看到不应该在那里的东西,我看不到应该在那里的东西。我也无法与不应该存在的东西互动。
有什么办法能让我补救吗?
我已经尝试重新创建主键并删除它,但它不起作用。

qpgpyjmq

qpgpyjmq1#

事实证明,如果没有主键,MariaDB将显示一个唯一的键作为主键。这是一个非常误导用户界面的选择。
删除唯一键将清除字段,然后可以根据需要创建主键。

相关问题