DROP CONSTRAINT не может найти ограничение - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь отбросить ограничение:

USE `mydb`;

BEGIN;
ALTER TABLE `mydb` DROP CONSTRAINT `myconstraint`;
COMMIT;

И он отвечает:

ERROR 1091 (42000) at line 6: Can't DROP CONSTRAINT `myconstraint`; check that it exists

Но ограничение существует:

MariaDB [(mydb)]> select * from information_schema.table_constraints WHERE table_name = 'mytable';
+--------------------+-------------------+---------------------------------------------------------------+--------------+-----------------+-----------------+
| CONSTRAINT_CATALOG | CONSTRAINT_SCHEMA | CONSTRAINT_NAME                                               | TABLE_SCHEMA | TABLE_NAME      | CONSTRAINT_TYPE |
+--------------------+-------------------+---------------------------------------------------------------+--------------+-----------------+-----------------+
| def                | mydb              | PRIMARY                                                       | mydb         | mytable         | PRIMARY KEY     |
| def                | mydb              | name                                                          | mydb         | mytable         | UNIQUE          |
| def                | mydb              | myconstraint                                                  | mydb         | mytable         | FOREIGN KEY     |
+--------------------+-------------------+---------------------------------------------------------------+--------------+-----------------+-----------------+

Что яделать неправильно?

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

Проблема в том, что MariaDB (MySql?) Не позволяет удалить ограничения внешнего ключа с помощью синтаксиса DROP CONSTRAINT.Он должен быть сброшен так:

ALTER TABLE `mytable` DROP FOREIGN KEY `myconstraint`;
0 голосов
/ 19 февраля 2019

Я думаю, что вы путаете "схему" (она же "база данных") и "таблицу"): ALTER TABLE mytable ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...