2015-08-26 3 views
-3

Я написал код SQL. Но есть некоторая «недостающая запятая». Как это исправить?Зачем мне «ошибка с запятой»?

insert into mark ("value number", student_id, subject_id) values(100,1,1); 
insert into mark ("value number", student_id, subject_id) values(90,2,1); 


SQL ERROR: 
insert into mark (value number, student_id, subject_id) values("100",1,1) 
         * 
ERROR at line 1: 
ORA-00917: missing comma 
+3

Сообщение об ошибке содержит двойные кавычки около '100', но SQL этого не делает. Является ли SQL вы размещены так же, как то, что вызвало ошибку? – Allan

+0

Довольно уверен, что вам не нужны котировки вокруг значения number – LoztInSpace

+1

Кроме того, ошибка не содержит кавычек вокруг 'value number', что объясняет ошибку. – Allan

ответ

0

Это не нравится кавычки вокруг столбца с именем «номер ценности». Нецелесообразно иметь столбец с пространством в нем, если это необходимо. Не могли бы вы изменить этот столбец как value_number, а затем удалить кавычки из вашего запроса?

В качестве альтернативы вам не нужно указывать имена столбцов вообще, пока вы указываете значения для каждого столбца и перечислите их в том порядке, в котором они отображаются в таблице. Если у вас есть значения для каждого столбца в правильном порядке, вы можете полностью удалить ("value number", student_id, subject_id) из вашего запроса.

+0

Вставить в значения знака (100,1,1); Вставить в значения знака (90,2,1); Ошибка - нарушение целостности, нарушение - родительский ключ не найден. – user5268891

+0

, то один из ваших столбцов помечен как внешний ключ, а значение, которое вы пытаетесь назначить ему, недопустимо. [link] (http://www.dba-oracle.com/t_ora_02291_integrity_constraint_string_string_violated_parent_key_not_found.htm) – cbeeson

+0

@ user5268891 ваш вопрос развивается в движущуюся цель. Лучше всего было бы удалить этот вопрос и написать новый, но на этот раз с командой CREATE всех задействованных таблиц и командой выбора, сообщением об ошибке этой команды выбора и именем базы данных. Если можно, не используйте имена с пробелом в нем. –

Смежные вопросы