SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 11.01.2015 15:58:33

NewEXE
Участник
Зарегистрирован: 11.01.2015
Сообщений: 1

Внешний ключ на UNIQUE-поле

Доброго времени суток. Проблема, скорее всего, с указанием внешнего ключа на уникальное поле, не первичный ключ.
Есть 2 таблицы:

--
-- Структура таблицы `users`. Создается, все нормально
--

CREATE TABLE IF NOT EXISTS `users` (
`id_user` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(16) DEFAULT NULL,
`password` int(32) DEFAULT NULL,
`user_email` varchar(32) DEFAULT NULL,
`image` mediumblob,
PRIMARY KEY (`id_user`),
UNIQUE KEY `image` (`image`(255)) --проходит, все нормально создается
)

--
-- Структура таблицы `comments`. Эта не создается
--

CREATE TABLE IF NOT EXISTS `comments` (
`id_comment` int(11) NOT NULL AUTO_INCREMENT,
`comment` text DEFAULT NULL,
`image` mediumblob,
`email_id` int(11),
PRIMARY KEY (`id_comment`),
FOREIGN KEY (`image`(255)) REFERENCE users(`image`), -- указывает не на foreign, а на unique
FOREIGN KEY (`email_id`) REFERENCE emails(`id_email`)
)


У одного пользователя одно изображение, у изображения много комментариев. Есть еще таблица emails, но это отдельная история, вся предметная область, если интересно, описана в приложенном файле.

#1005 - Can't create table 'general_db.comments' (errno: 150)

P.S. Про опечатку "imahes" я знаю, учёл


Прикрепленные файлы:
Attachment Icon dbdsgnr.png, Размер: 131,325 байт, Скачано: 503

Неактивен

 

#2 11.01.2015 18:45:43

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Внешний ключ на UNIQUE-поле

На blob нельзя сделать внешний ключ.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson