Я использовал следующий код прежде, чем получить то, что хотел, но затем добавил некоторые внешние ключи, и это испортило его:Получение ERROR 1451 (23000): невозможно удалить или обновить родительскую строку: ограничение внешнего ключа завершено
DELETE FROM Faculty WHERE LastName LIKE 'Z%'
DELETE FROM Courses WHERE FirstYrOffered='1999'
Просто я пытаюсь удалить запись из таблицы, но она работает неправильно. Это как мои таблицы смотрят:
CREATE TABLE Faculty (
FacultyID int,
FirstName varchar(30),
LastName varchar(30),
EMail varchar(60),
BirthDate DATE,
Numbr_Courses int,
PRIMARY KEY (FacultyID)
);
CREATE TABLE Courses(
CourseID int,
CourseDisc varchar(4),
CourseNum varchar(4),
NumbrCred varchar(1),
FirstYrOffered int,
CourseTitle varchar(75),
PRIMARY KEY (CourseID)
);
CREATE TABLE Faculty_Courses(
InstanceID int,
FacultyID int,
CourseDisc varchar(4),
CourseID int,
CourseNum varchar(4),
CourseTitle varchar(75),
PRIMARY KEY (InstanceID),
FOREIGN KEY (FacultyID) REFERENCES Faculty(FacultyID),
FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);
Я посмотрел примеры кода TABLE ALTER, но на самом деле не понимают, что я делаю с этим. Любая помощь будет оценена по достоинству.
Использование ограничений FOREIGN KEY заключается в том, чтобы помочь сохранить эти разрозненные данные [mysql doc] (https://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html). Могу ли я спросить, почему вы хотите удалить его? –
Это все для класса, чтобы показать, что мы понимаем, как это сделать. Поэтому в основном мне нужно удалить его, потому что он находится в инструкциях. Я попробую ответить ниже с параметром delete cascade, чтобы узнать, работает ли он. –
У меня было 2 варианта, если он не работает. Дайте ему попробовать, если ошибка дайте мне знать –