У меня есть две таблицы:
CREATE TABLE `car_shop` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`selling_brands` varchar(25) DEFAULT NULL,
`some_col` varchar(25) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `cars` (
`car_id` int(11) NOT NULL AUTO_INCREMENT,
`car_make` varchar(25) DEFAULT NULL,
PRIMARY KEY (`car_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
Вторая заполнена следующими:
+--------+----------+
| car_id | car_make |
+--------+----------+
| 1 | BMW |
| 2 | Audi |
| 3 | Toyota |
+--------+----------+
Мне нужно добавить такое ограничение, чтобы столбец selling_brands принимал только заполненные значенияв автомобильном столе (BMW, Audi, Toyota).
Я представляю это так:
+----+----------------+----------+
| id | selling_brands | some_col |
+----+----------------+----------+
| 1 | BMW, Audi | shop 1 |
| 2 | Toyota | shop 2 |
+----+----------------+----------+
Я пытался добавить ограничение следующим образом, но оно не работает:
ALTER TABLE car_shop
ADD FOREIGN KEY (selling_brands)
REFERENCES cars(car_make)
Я получаю: ОШИБКА: (conn: 24) Невозможно добавить ограничение внешнего ключа Код ошибки: 1215