Ошибка "column not allowed here" в инструкции INSERT
Я создал эту таблицу под названием LOCATION тем самым:
CREATE TABLE LOCATION(
POSTCODE VARCHAR(10) PRIMARY KEY,
STREET_NAME VARCHAR(20),
CITY VARCHAR(20));
и когда я пытаюсь добавить некоторую дату в таблицу, она не работает, говоря, что есть ошибка
INSERT INTO LOCATION VALUES(PQ95VM,'HAPPY_STREET','FRANCE');
ошибка говорит
не разрешен здесь
Ответы
Ответ 1
Вам не хватает котировок вокруг первого значения, оно должно быть
INSERT INTO LOCATION VALUES('PQ95VM', 'HAPPY_STREET', 'FRANCE');
Кстати, вам было бы полезно указать имена столбцов явно в INSERT по соображениям удобочитаемости, ремонтопригодности и надежности, т.е.
INSERT INTO LOCATION (POSTCODE, STREET_NAME, CITY) VALUES ('PQ95VM', 'HAPPY_STREET', 'FRANCE');
Ответ 2
Некоторое время. Выполняя запрос insert, мы сталкиваемся с:
Колонка не разрешена здесь
ошибка. Из-за цитаты может отсутствовать в строковых параметрах. Добавьте предложение в строковые параметры и попробуйте выполнить.
Попробуйте следующее:
INSERT INTO LOCATION VALUES('PQ95VM','HAPPY_STREET','FRANCE');
или
INSERT INTO LOCATION (ID, FIRST_NAME, LAST_NAME) VALUES('PQ95VM','HAPPY_STREET','FRANCE');
http://www.drtuts.com/oracle-error-column-not-allowed-here/
Ответ 3
Как сказал Scaffman - вам не хватает котировок.
Всегда, когда вы передаете значение varchar2, используйте кавычки
INSERT INTO LOCATION VALUES('PQ95VM','HAPPY_STREET','FRANCE');
Итак, один (') начинает строку, а второй (') закрывает его.
Но если вы хотите добавить символ цитаты в строку, например:
Мой отец сказал мне: "ты должен быть храбрым, сын".
Вам нужно использовать символ тройной кавычки, например:
"Мой отец сказал мне:" Ты должен быть храбрым, сын ".
* добавление метода цитирования может различаться для разных движков db
Ответ 4
То, что вы пропустили, составляет " "
в почтовом индексе, потому что это varchar
.
Существует два способа вставки.
При создании таблицы Table created.
и вы добавляете строку сразу после ее создания, вы можете использовать следующий метод.
INSERT INTO table_name
VALUES (value1,value2,value3,...);
1 row created.
Вы добавили столько таблиц или сохранили, и вы снова открываете его, вам нужно также указать имя столбца таблицы, иначе оно будет отображать ту же ошибку.
ERROR at line 2:
ORA-00984: column not allowed here
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
1 row created.
Ответ 5
INSERT INTO LOCATION VALUES(PQ95VM,'HAPPY_STREET','FRANCE');
вышеупомянутый код неверен, потому что ваш первый параметр POSTCODE имеет тип VARCHAR(10)
. Вы должны были использовать ' '
.
попробуйте INSERT INTO LOCATION VALUES('PQ95VM','HAPPY_STREET','FRANCE');
Ответ 6
Эта ошибка возникает, если мы вносим ошибку орфографии при вводе имени переменной.
Как в хранимой proc, у меня есть имя переменной x и в моей инструкции insert я использую
insert into tablename values(y);
Здесь будет помечен столбец ошибок.
Ответ 7
Scanner sc = new Scanner(System.in);
String name = sc.nextLine();
String surname = sc.nextLine();
Statement statement = connection.createStatement();
String query = "INSERT INTO STUDENT VALUES("+'"name"'+","+'"surname"'+")";
statement.executeQuery();
Не забудьте добавить "----" при конкатенации строки.