|
|
|
| Добрый вечер!
Тренируюсь в MySQl и вот возникла проблема - хотел в одной таблице создать внешний ключ на другую, но получаю Error, хотя один в один по учебнику.
Error 1217 (23000) Cannot delete or update a paernt row: a foreign key constraint fails
Error 1050 (42S01) Table 'operation' already exists.
Заранее прошу прощение за флуд, но но ниже привожу исходник моего скрипта
USE spy;
DROP TABLE IF EXISTS agent;
CREATE TABLE agent (
agentID int(11) NOT NULL AUTO_INCREMENT,
name varchar (50) default NULL,
operationID int(11),
PRIMARY KEY (agentID),
FOREIGN KEY (operationID) REFERENCES operation (operationID)
);
DESCRIBE agent;
INSERT INTO agent VALUES (
null, 'Bond', 1);
SELECT * FROM agent;
USE spy;
DROP TABLE IF EXISTS operation;
CREATE TABLE operation (
operationID int(11) NOT NULL AUTO_INCREMENT,
name varchar (50) default NULL,
description varchar (50) default NULL,
location varchar (50) default NULL,
PRIMARY KEY (operationID)
);
DESCRIBE operation;
INSERT INTO operation VALUES (
null, 'Dancing Elephant', 'Inflitrate suspicious zoo', 'London'
);
SELECT * FROM operation;
|
И что самое обидно-непонятное, каждая строка ясна. Понимаю ведь, что и зачем происходт. Но откуда ошибка??? Мистика....
Помогите, пожалуйста. | |
|
|
|
|
|
|
|
для: Jurik
(23.01.2005 в 18:26)
| | Хм... а версия MySQL какая? У меня на 4.0.22 SQL-код выполнился без проблем. Правда версия 4.0 и внешние ключи не поддерживает - в ней только ключевые слова зарезирвированы. | |
|
|
|
|
|
|
|
для: cheops
(23.01.2005 в 18:42)
| | Хороший вопрос....
А какой командой версию MySQL посмотреть? | |
|
|
|
|
|
|
|
для: cheops
(23.01.2005 в 18:42)
| | MySQL 4.1.8 -nt - такое может быть?
Скачивал недавно - перед Новым Годом с оф. сайта.
Может чего переставить надо? | |
|
|
|
|
|
|
|
для: Jurik
(23.01.2005 в 18:46)
| | Версию можно посмотреть командой
Да это она и есть... там сейчас чего-то с транзакциями проводить нужно - иначе не добавится... Скачать можно и более старую, но только как я уже говорил там нет полноценной поддержки внешних ключей. | |
|
|
|
|
|
|
|
для: cheops
(23.01.2005 в 18:54)
| | Так что же мне делать? | |
|
|
|
|
|
|
|
для: Jurik
(23.01.2005 в 19:35)
| | Если у вас имются готовые базы данных сделайте их дамп при помощи утилиты mysqldump:
mysqldump имя_базы>имя_файла.sql
|
Попробуйте в нём разобраться... или выложите небольшой кусок сюда - вместе подумаем... я сейчас просто не могу 4.1 поставить, чтобы в ней поковыряться. | |
|
|
|
|
автор: Jura (27.01.2005 в 11:06) |
|
|
для: cheops
(23.01.2005 в 20:21)
| | Уважаемый cheops!
Спасибо за помощь и поддержку - база данных пошла. Извиняюсь, что в диалоге был перерыв - был занят на работе.
С уважением,
Юра. | |
|
|
|