0
0

Выполняла все действия за автором, он вносил исправления(добавил ALTER TABLE),я также внесла эти исправления в уроке 1.9. только у него запрос был выполнен,а у меня-нет,в сессии,где мы прописываем INSERT INTO возникла ошибкаERROR: ОШИБКА: INSERT содержит больше выражений, чем целевых столбцов LINE 2: INSERT INTO person VALUES (2, 789812, 2, 'Winterfell'). Хотелось бы понять почему,вообще возникает данная ошибка?

ALTER TABLE passport
ADD COLUMN registration text NOT NULL


CREATE TABLE person
(
person_id int PRIMARY KEY,
first_name varchar(64) NOT NULL,
last_name varchar(64) NOT NULL
);

CREATE TABLE passport
(
passport_id int PRIMARY KEY,
serial_number int NOT NULL,
fk_passport_person int REFERENCES person(person_id)
)

INSERT INTO person VALUES (2, 123456, 2, 'Winterfell');
INSERT INTO person VALUES (2, 789812, 2, 'Winterfell');
INSERT INTO person VALUES (3, 345678, 3, 'King``s Landing');


Алена Алябьева
3 years ago






PRIMARY KEY вставлять не надо, он сам вставится

INSERT INTO `person` (`first_name`, `last_name`)

VALUES (123456, 2, 'Winterfell');

student_kAR68Gv3
3 years ago

сам ошибся, сколько полей, столько и значений надо вставлять

INSERT INTO `person` (`person_id`, `first_name`)

VALUES (123456, 'Winterfell');

а обратные кавычки(``) имена таблиц и полей в них обрамляют, чтобы бд не спутала с зарезервированными словами, типа: date, count ...ets

student_kAR68Gv3
3 years ago

2 ответов