- Первичный ключ, ИЛИ
- столбец NOT NULL UNIQUE, который будет действовать как PK (InnoDB выбирает его автоматически)
Код: Выделить всё
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.
Код: Выделить всё
CONSTRAINT `tableA_id_ibfk_1` FOREIGN KEY (`tableA_id`) REFERENCES `tableA` (`id`) ON DELETE CASCADE
Мне нужен ВНЕШНИЙ КЛЮЧ ... есть мысли?
Подробнее здесь: https://stackoverflow.com/questions/798 ... n-fk-exist
Мобильная версия