MySQL выдает ОШИБКУ 3098 .. таблица не соответствует .. внешний плагин, когда существует FKMySql

Форум по Mysql
Ответить
Anonymous
 MySQL выдает ОШИБКУ 3098 .. таблица не соответствует .. внешний плагин, когда существует FK

Сообщение Anonymous »

Я понимаю, что при групповой репликации у меня должно быть либо:
  • Первичный ключ, ИЛИ
  • столбец NOT NULL UNIQUE, который будет действовать как PK (InnoDB выбирает его автоматически)
В моем случае у меня есть явный PK, например:

Код: Выделить всё

mysql> DESCRIBE tableA;
+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int unsigned | NO   | PRI | NULL    | auto_increment |
| name  | varchar(20)  | YES  | UNI | NULL    |                |
+-------+--------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

mysql> DESCRIBE tableB;
+-------------+--------------+------+-----+-------------------+-------------------+
| Field       | Type         | Null | Key | Default           | Extra             |
+-------------+--------------+------+-----+-------------------+-------------------+
| id          | int unsigned | NO   | PRI | NULL              | auto_increment    |
| tableA_id   | int unsigned | NO   | MUL | NULL              |                   |
| col1        | varchar(10)  | YES  |     | NULL              |                   |
| col2        | text         | YES  |     | NULL              |                   |
| created     | datetime     | YES  |     | CURRENT_TIMESTAMP | DEFAULT_GENERATED |
+-------------+--------------+------+-----+-------------------+-------------------+
5 rows in set (0.00 sec)
  • Когда я вставляю строки в таблицу A – они добавляются нормально.
  • Когда я затем вставляю строки в таблицу B – они выдают следующую ошибку

Код: Выделить всё

ERROR 3098 (HY000):
The table does not comply with the requirements by an external plugin.
Итак, я начал отладку таблицы B и заметил, что когда я удаляю ВНЕШНИЙ КЛЮЧ

Код: Выделить всё

CONSTRAINT `tableA_id_ibfk_1` FOREIGN KEY (`tableA_id`) REFERENCES `tableA` (`id`) ON DELETE CASCADE
это работает. но почему FK мешает репликации группы?
Мне нужен ВНЕШНИЙ КЛЮЧ ... есть мысли?

Подробнее здесь: https://stackoverflow.com/questions/798 ... n-fk-exist
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»