savelikan
11.01.2014 - 22:33
Привет всем! Подскажите пожалуйста, в чем тут ошибка?
CREATE TABLE IF NOT EXISTS `wiki` (
`wiki_id` int(11) NOT NULL AUTO_INCREMENT,
`wiki_address` int(11) NULL,
`wiki_date` int(11) NOT NULL,
`wiki_title` varchar(200) NOT NULL,
`wiki_text` text NOT NULL,
PRIMARY KEY (`wiki_id`),
CONSTRAINT `fk_address` FOREIGN KEY `fk_address` (`wiki_address`)
REFERENCES `wiki` (`wiki_id`)
ON DELETE CASCADE
) ENGINE=InnoDB;
_____________
Одесса - мой город!)))
T1grOK
11.01.2014 - 23:36
Смотря чего хотите добиться, в целом схема вполне рабочая.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
savelikan
12.01.2014 - 00:01
Ошибка: #1005 - Can't create table 'online_uatest.wiki' (errno: 121)
Supports transactions, row-level locking, and foreign keys
_____________
Одесса - мой город!)))
savelikan ну там же написано что вы с внешними ключами намутили
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
savelikan
12.01.2014 - 00:16
Я SQL не очень хорошо знаю. Это должно работать как иерархия. Статьи в категориях. И при удалении категории удаляються все статьи одновременно. Я когдато так делал - всё отлично работало. А вот сейчас что-то не работает.
_____________
Одесса - мой город!)))
savelikan, ну почитайте тут
http://stackoverflow.com/questions/1823832...nd-foreign-keys
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
T1grOK
12.01.2014 - 00:27
Видимо fk_address уже используется в базе. Он должен быть уникальным.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
у меня без ошибок создалось.
может у вас не включена поддержка InnoDB, или CONSTRAINT `fk_address` уже есть в базе, попробуйте другое имя констрейнта
savelikan
12.01.2014 - 00:34
Цитата (T1grOK @ 11.01.2014 - 22:27) |
Видимо fk_address уже используется в базе. Он должен быть уникальным. |
Спасибо! Заработало!)
_____________
Одесса - мой город!)))
savelikan
12.01.2014 - 13:00
У меня тут еще вопросик появился. А можно одним запросом получить адрес к строке? Например у меня с картинки:
Главная категория 1 -> подкатегория 2 -> список подкатегории 2
Спасибо за ответ)
_____________
Одесса - мой город!)))
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.