Новичок атакуэ (вопрос по MySQL)

ZI
На сайте с 24.05.2005
Offline
51
851

Только что начал изучать МусКул. пытаюсь создать таблицы и внести в них данные

drop table course;

drop table student;
drop table studentMarks;
drop table assignments;

CREATE TABLE course (
courseCode VARCHAR(4) ,
courseNumber INTEGER ,
courseSection VARCHAR(50) ,
numAssignments INTEGER ,
PRIMARY KEY (courseCode, courseNumber, courseSection)
);

CREATE TABLE student (
studentID VARCHAR(10) ,
lastName VARCHAR(50) ,
firstName VARCHAR(50) ,
itGroup VARCHAR(10) ,
PRIMARY KEY (studentID)
);

CREATE TABLE assignments (
assignmentID INTEGER ,
assignmentName VARCHAR(50) ,
outOff INTEGER ,
courseCode VARCHAR(4) ,
courseNumber INTEGER ,
courseSection VARCHAR(50) ,
PRIMARY KEY (assignmentID),
FOREIGN KEY (courseCode) REFERENCES course(courseCode),
FOREIGN KEY (courseNumber) REFERENCES course(courseNumber),
FOREIGN KEY (courseSection) REFERENCES course(courseSection)
);

CREATE TABLE studentMarks (
assignmentID INTEGER ,
studentID VARCHAR(10) ,
mark INTEGER ,
index (studentID),
FOREIGN KEY (assignmentID) REFERENCES assignments(assignmentID),
FOREIGN KEY (studentID) REFERENCES student(studentID)
);

INSERT INTO course
VALUES ("DBAS",2020,"section 1",5),("DBAS",2020,"section 2",5);

INSERT INTO student
VALUES ("w0001000","Chernyavskyy","Volodymyr",2),("w1111111","Burger","King",1);

INSERT INTO assignments
VALUES (01,"Assg1",5),(02,"Assg12",5);

INSERT INTO studentMarks
VALUES (98),(87);

на что получаю след. ответ:

mysql> \. c:/msql_sampleDB/create_tables.sql

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.02 sec)

Query OK, 0 rows affected (0.39 sec)

Query OK, 0 rows affected (0.05 sec)

Query OK, 0 rows affected (0.05 sec)

Query OK, 0 rows affected (0.05 sec)

Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0

Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0

ERROR 1136 (21S01): Column count doesn't match value count at row 1
ERROR 1136 (21S01): Column count doesn't match value count at row 1

собственно данные с примари_кей не передаются на фореин

Спасибо

[Удален]
#1

неправильный инсерт на асайнментс

MOP1 добавил 17.04.2010 в 13:38

и на студент маркс тоже будет неправильный

CN
На сайте с 29.09.2007
Offline
155
#2

потерто....

ZI
На сайте с 24.05.2005
Offline
51
#3

как правильно? смотрел мануалы, пробовал, не получилось

totamon
На сайте с 12.05.2007
Offline
437
#4

при чем здесь ключи? у вас банально количество данных в инсерте не соответствует структуре таблицы...

Домены и хостинг https://8fn.ru/regru | Дедик от 3000р https://8fn.ru/73 | VPS в Москве https://8fn.ru/72 | Лучшие ВПС, ТП огонь, все страны! https://8fn.ru/inferno | ХОСТИНГ №1 РОССИИ https://8fn.ru/beget
ZI
На сайте с 24.05.2005
Offline
51
#5

totamon Хотелось бы что бы данные из таблицы одной брались и подставлялись в другую.. как я понял стандартными командами мускула не обойтись, надо переменные вводить

M
На сайте с 16.10.2006
Offline
69
#6

Т.к. у тебя последние таблицы ссылаются на первые две, то заполняй сначала первые, а потом бери данные из них и соответственно заполняй оставшиеся, указывая в полях с внешними ключами существующие значения из таблиц.

Никогда не пользовался конструкцией FOREIGN KEY - все связи учтены на программном уровне. Она помогает сохранить целостность базы?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий