2 Вопрос: Создать и вставить таблицу

вопрос создан в Thu, May 2, 2019 12:00 AM

Я создал таблицу для базы данных и таблицу, но вейлы вставки не работают.

Это таблица

Create table patient (
Patient_ID Number(9) primary key,
First_name varchar2(15),
Last_name varchar2(10),
Contact number(10),
City varchar2(20),
Doctor_ID Number(9) references Doctor(Doctor_ID));

Это оператор вставки

insert into patient values ('21345', 'John', 'Smith', '111-111-1111', 'NJ');   
insert into patient values ('21346', 'Emily', 'Rose', '222-222-2222', 'LA');  
insert into patient values ('21347', 'Mark', 'Cruise', '333-333-3333', 'NY');
insert into patient values ('21348', 'Bran', 'Stark', '444-444-4444', 'TX');    
insert into patient values ('21349', 'Hailey', 'Wraith', '555-555-5555', 'AZ');

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

    
0
2 ответа                              2                         

Вы вставляете 5 значений только тогда, когда ваша таблица ожидает 6 (ParentID, Имя, Фамилия, Контакт, Город и ID доктора)

Вам нужно передать значение для Doctor_ID

    
1
2019-05-02 14: 57: 48Z
  1. вставить в значения доктора (Doctor_ID) ('30114', 'Mark', 'Miller', 'Therapist');
    2019-05-02 15: 02: 01Z
  2. добавить это вместе со значениями пациента?
    2019-05-02 15: 02: 17Z

Вы забыли добавить имена столбцов таблицы во время вставки, поэтому она пытается добавить все данные, передаваемые вами, в каждый столбец таблицы. Это лучший способ ввода ваших данных, когда не требуется вставка во все столбцы таблицы.

Insert into `patient` (`table1`, `table2`, `table3`, `table4`, `table5`) values ('21345', 'John', 'Smith', '111-111-1111', 'NJ');

Чтобы еще больше разбить вашу проблему, у вас есть 6 столбцов в таблице, но данные, которые вы передаете, равны 5, это даст вам эту ошибку, потому что 5 меньше 6. Если вы не хотите получать эту ошибку, вы необходимо указать каждый столбец, в который вы вводите, как показано выше - НО это поле должно быть пустым.

В этом случае Doctor_ID отсутствует

Insert into `patient` (`table1`, `table2`, `table3`, `table4`, `table5`, `table6` ) values ('21345', 'John', 'Smith', '111-111-1111', 'NJ', 'DOCTOR_ID_DATA_HERE');

Ответ:

Insert into `patient` (`Patient_ID`, `First_name`, `Last_name`, `Contact`, `City`, `Doctor_ID`) values ('2125', 'John', 'Doe', '111-111-1111', 'LA', '30114');

DOCTOR 30114 должен уже существовать, поскольку вы ссылаетесь из другой таблицы, обратите внимание!

    
0
2019-05-02 15: 37: 15Z
  1. вставить в значения доктора (Doctor_ID) ('30114', 'Mark', 'Miller', 'Therapist');
    2019-05-02 15: 08: 41Z
  2. вставьте значения пациента («Доктор», «Пациент», «Назначение», «Оплата», «Страхование», «Счет») («21345», « Джон »,« Смит »,« 111-111-1111 »,« Нью-Джерси »,« 30114 »);
    2019-05-02 15: 09: 37Z
  3. Итак, как и второе значение вставки?
    2019-05-02 15: 09: 54Z
  4. @ Clark Да, правильно
    2019-05-02 15: 13: 10Z
  5. но я попытался запустить его, и он выдал ошибку, сообщающую об отсутствии ключевого слова SELECT
    2019-05-02 15: 16: 15Z
источник размещен Вот