Как узнать имя ограничения (MySQL)

Рейтинг: 2Ответов: 1Опубликовано: 18.04.2015

(Использую MySQL) Я хочу удалить ограничение, но мне нужно его имя Вопрос: Как узнать имя ограничения (Я его не задавал явно), оно было
генерировано. Спасибо.

Почему решил это сделать: Есть таблица, в которой есть FK

+--------+-------------+------+-----+---------+----------------+
| Field  | Type        | Null | Key | Default | Extra          |
+--------+-------------+------+-----+---------+----------------+
| w_id   | int(11)     | NO   | PRI | NULL    | auto_increment |
| w_name | varchar(20) | NO   |     | NULL    |                |
| w_ar   | int(11)     | YES  | MUL | NULL    |                |
+--------+-------------+------+-----+---------+----------------+

Но я не могу его удалить запросом:

ALTER TABLE work
DROP FOREIGN KEY fk_work;

И в чем изюминка: Когда ввожу запрос первый раз, то:

Query OK, 0 rows affected (0.23 sec)
Records: 0  Duplicates: 0  Warnings: 0

Когда ввожу запрос второй раз, то:

ERROR 1025 (HY000): Error on rename of '.\default_test\work' to '.\default_test\#sql2-1378-1' (errno: 152)

Ответы

▲ 3Принят
SHOW CREATE TABLE mytable;

покажет вам полный SQL для создания таблицы, включая имена констрейнтов.