Добрый день. У меня есть три таблицы, артисты, теги, и связь артистов с тегами(manyToMany).
artists(id, name)
tags(id, name)
artists_tags(id, artist_id, tag_id)
Все поля `id` - PRIMARY KEY, для artist_id и tag_id добавил индексы.
Теперь пытаюсь создать внешние ключи для artist_id и для tag_id
Для артистов:
ALTER TABLE `artists_tags`
ADD CONSTRAINT `FK_artists_tags`
FOREIGN KEY (`artist_id`)
REFERENCES `artists`(`id`)
ON UPDATE CASCADE
ON DELETE CASCADE;
Для тегов:
ALTER TABLE `artists_tags`
ADD CONSTRAINT `FK_tags_artists`
FOREIGN KEY (`tag_id`)
REFERENCES `tags`(`id`)
ON UPDATE CASCADE
ON DELETE CASCADE;
В обоих случаях получаю ошибку 'SQL(1005) errorno 150 Can't create table. Foreign key constraint incorrectly formed' .
Что не так я делаю? Мне нужно, чтоб при удалении артиста или тега удалялись все связанные записи из artists_tags. Помогите разобраться.