Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Синтаксическая ошибка в команде INSERT...Value...WHERE / 10 сообщений из 10, страница 1 из 1
21.09.2004, 12:18
    #32703984
Хоттабыч
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксическая ошибка в команде INSERT...Value...WHERE
Я ввёл команду:
mysql> insert into tb1 (last_accessed) values('20040921') where emp_id='1007';
И получил в ответ сообщение:
ERROR 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'where emp_id='1007'' at line 1
Что в записи этой команды неправильно?
Windows XP, mysql Ver 12.22 Distrib 4.0.18, for Win95/Win98 (i32)

Помогите найти ошибку.
Спасибо
...
Рейтинг: 0 / 0
21.09.2004, 12:25
    #32704009
guest1187
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксическая ошибка в команде INSERT...Value...WHERE
А зачем в команде insert условие where?
...
Рейтинг: 0 / 0
21.09.2004, 16:21
    #32704730
Хоттабыч
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксическая ошибка в команде INSERT...Value...WHERE
Мы ранеее вставили в таблицу дополнительный столбец last_accessed и в поля этого дополнительного столбца необходимо вставить ну, скажем, дату ('20040921' в нашем случае), но вставить только при определённых значениях ('1007' в моём случае) полей другого столбца (столбца сименем emp_id )
...
Рейтинг: 0 / 0
21.09.2004, 16:28
    #32704742
BigHarry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксическая ошибка в команде INSERT...Value...WHERE
Тады, наверно, так:
UPDATE tb1 SET last_accessed = '20040921' WHERE emp_id='1007';
...
Рейтинг: 0 / 0
21.09.2004, 23:27
    #32705309
Хоттабыч
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксическая ошибка в команде INSERT...Value...WHERE
Спасибо, пердложенный Вами вариант сработал!
Но мне хочется понять, почему всё-таки выплывает СИНТАКСИЧЕСКАЯ ошибка в описанной выше команде INSERT...values...WHERE... и как надо изменить запись этой команды, чтобы ошибки не было.
Запись команды
mysql> insert into tb1 (last_accessed) values('20040921');
как части вышеуказанной команды не приводит к синтаксической ошибке / эта команда выполняет другое действие, но это уже не из оперы синтаксиса /
С другой стороны команда, которая по своему синтаксическому строению близкая к команде INSERT...values...WHERE... , а именно mysql> DELETE FROM tb1 WHERE emp_id='1008'; выполняется, т.е. синтаксис верный.
И если мы добавляем к команде INSERT...values... ещё where emp_id='1007';, то тогда и появляется сообщение о синтаксической ошибке.
Кстати, команда INSERT...values...WHERE... в такой форме, как я применил, приводится в описании "Установка и администрирование сервера MySQL", находящегося на сервере www.mysql.ru, она взята оттуда и при её использовании и выплыла синтаксическая ошибка.
...
Рейтинг: 0 / 0
22.09.2004, 10:30
    #32705710
BigHarry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксическая ошибка в команде INSERT...Value...WHERE
Вы неправильно понимаете (или - в документации ошибка) команду INSERT. Она не вставляет данные в существующие строки, она вставляет новые строки и забивает их данными. Т.е. условие там просто отсутсвует.
...
Рейтинг: 0 / 0
22.09.2004, 16:54
    #32707081
guest1187
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксическая ошибка в команде INSERT...Value...WHERE
Так в этом документе подразумевается, что этот запрос должен поле emp_id добавить в таблицу. (то есть и insert и alter table в одном флаконе).
Я, конечно, далек от синтаксиса MySql, просто хотелось бы узнать такое действительно возможно?
...
Рейтинг: 0 / 0
22.09.2004, 16:58
    #32707095
guest1187
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксическая ошибка в команде INSERT...Value...WHERE
Что-то я поторопислся с выводами. Действительно добавляется last_accessed а не emp_id. Предыдущую реплику снимаю.
...
Рейтинг: 0 / 0
22.09.2004, 18:41
    #32707407
BigHarry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксическая ошибка в команде INSERT...Value...WHERE
INSERT и UPDATE в одном флаконе - REPLACE по таблице с ключем, но если на эту таблицу есть форейны - то можно жестоко поплатиться...
...
Рейтинг: 0 / 0
22.09.2004, 23:37
    #32707656
Хоттабыч
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксическая ошибка в команде INSERT...Value...WHERE
Спасибо. guest1187. Спасибо BigHarry.
Я, почитав немного литературу по этому вопросу, склоняюсь к мнению, что команда
INSERT ... values ( ... ), как и предположил BigHarry, спроектирована для безусловного (никаких WHERE) употребления.
А том руководстве, из которого я взял её, команда INSERT была ошибочно записана с уловием ( WHERE...).
Хоттабыч.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Синтаксическая ошибка в команде INSERT...Value...WHERE / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]