ОШИБКА в строке 1: ORA-00984: столбец здесь не разрешен - PullRequest
0 голосов
/ 20 февраля 2019
create table student(id int,name varchar2(20),marks int);
insert into student(id,name,marks) values(545,"wiahr",100);

или

insert into student values(545,"wiahr",100);

Для двух указанных выше вставок я получаю следующую ошибку

вставка в значения (идентификатор, имя, отметки) ученика (545, "wiahr", 100) * ОШИБКА в строке 1: ORA-00984: столбец здесь не разрешен

Не могли бы вы помочь с этим.

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Согласно сообщению об ошибке, вы фактически используете базу данных Oracle, а с базами данных Oracle строки должны быть заключены в одинарные кавычки :

insert into student(id,name,marks) values(545,'wiahr',100);

( live demo )

Вместо двойных кавычек имена полей (и поля недопустимы в предложении VALUES оператора INSERT).

Это специально вызывается в INSERT документации :

Символы и даты в списке VALUES должны быть заключены в одинарные кавычки (').Числовые литералы не заключены в кавычки.

Это в отличие от MySQL, в котором вы можете использовать одинарные или двойные кавычки для строк, а обратные метки вводят поля.

0 голосов
/ 20 февраля 2019

Строковые литералы обозначаются одинарными кавычками ('), а не двойными кавычками ("):

insert into student (id, name, marks) values (545, 'wiahr', 100);
-- Here -------------------------------------------^-----^
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...