У меня есть следующие таблицы:
CREATE TABLE Student (
SID INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(50) NOT NULL,
Address VARCHAR(100) NOT NULL,
Telephone VARCHAR(20) NOT NULL,
Age INT UNSIGNED NOT NULL,
CONSTRAINT UC_Person UNIQUE (SID, Name)
);
CREATE TABLE Course (
CourseNo VARCHAR(10) NOT NULL PRIMARY KEY,
Title VARCHAR(150) NOT NULL,
Department VARCHAR(60) NOT NULL,
NumberOfCredits VARCHAR(20) NOT NULL,
CourseFees FLOAT NOT NULL,
CONSTRAINT UC_Course UNIQUE (CourseNo,Title)
);
CREATE TABLE Registration (
SID INT UNSIGNED NOT NULL,
CourseNo VARCHAR(10) NOT NULL,
StartDate DATE NOT NULL,
CompleteDate DATE NULL,
Grade FLOAT NULL,
FOREIGN KEY (SID) REFERENCES Student(SID),
FOREIGN KEY (CourseNo) REFERENCES Course(CourseNo)
);
Я заполнил таблицы Course
и Student
, 825 CourseNo и 1000 SID соответственно.
Единственный способ, которым я знаю, как ввести данные в таблицу:
INSERT INTO REGISTRATION ('SID','CourseNo','StartDate','CompleteDate','Grade') VALUES
('3', 'COMP418', '2018-09-01', NULL, NULL),
('3', 'COMP470', '2018-09-01', NULL, NULL),
('3', 'COMP314', '2018-05-01', '2018-08-31', '85.67');
Это работает, ОДНАКО, у меня есть x8 CourseNo, x2 StartDate, x2 CompleteDate, x8 Grade, чтобывведите для SID.С 1000 SID в моей базе данных это будет длиться вечно, используя мой пример выше.Я уверен, что есть более быстрый путь, но я понятия не имею, как.
Может кто-нибудь объяснить, как?