Вставить оператор в sql с одним полем, установленным как autonumber

У меня есть три столбца в моей ветке таблицы, то есть id (Autonumber), code (text), desc (text). Я пытаюсь выполнить этот sql insert into branch(code,desc) values('"+b+"','"+c+"')";, который дает мне синтаксическую ошибку error ... пожалуйста, помогите


person Saumyaraj    schedule 23.03.2013    source источник
comment
Не встраивайте код Java в JSP. И узнайте о подготовленных операторах, если вы не хотите пострадать от атак SQL-инъекций.   -  person JB Nizet    schedule 23.03.2013


Ответы (1)


Один из ваших столбцов имеет имя DESC, то есть Reserved Keyword. Чтобы люди могли выполнить оператор INSERT, вам необходимо разделить столбец с помощью brackets, например

insert into branch(code,[desc]) values ('"+b+"','"+c+"')";

Еще одна вещь: ваш код склонен к SQL Injection. Пожалуйста, параметризуйте запрос.

person John Woo    schedule 23.03.2013
comment
Спасибо, но я не начал с 5, как мне начать с 1? - person Saumyaraj; 23.03.2013
comment
ммм, что значит начать с 1? - person John Woo; 23.03.2013
comment
вы имеете в виду, что у вас есть имя столбца no, которое установлено как поле auto_increment, и вы хотите, чтобы оно начиналось с 1? в таком случае выполните это ALTER TABLE branch ALTER COLUMN no COUNTER(1,1) - person John Woo; 23.03.2013
comment
Я имею в виду, что моя таблица имеет идентификатор как автоинкремент. Когда я ввел свою первую запись, запись была добавлена, но идентификатор не был 5. Как заставить ее начинаться с 1? - person Saumyaraj; 23.03.2013
comment
Спасибо, а как предотвратить это от sql-инъекции? - person Saumyaraj; 23.03.2013
comment
Alter table ... Counter(1,1) в таблице в MS Access испортит начальное число, и в итоге вы получите дубликаты. Это хорошая идея только для пустой таблицы, и как только таблица станет пустой, вы также можете сжать и восстановить, что все сбросит безопасно и что должно быть сделано в любом случае. Однако настоящий вопрос заключается в том, почему вас волнует, что содержит автономный номер? Размышление в этом направлении приведет к еще большему огорчению, поскольку вы пытаетесь заставить автономный номер что-то значить. Автономный номер никогда не подходит для последовательного номера, это просто уникальный ключ, и даже не то, если вы так возитесь. - person Fionnuala; 23.03.2013