powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Синтаксическая ошибка в команде INSERT...Value...WHERE
10 сообщений из 10, страница 1 из 1
Синтаксическая ошибка в команде INSERT...Value...WHERE
    #32703984
Хоттабыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я ввёл команду:
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
Синтаксическая ошибка в команде INSERT...Value...WHERE
    #32704009
guest1187
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем в команде insert условие where?
...
Рейтинг: 0 / 0
Синтаксическая ошибка в команде INSERT...Value...WHERE
    #32704730
Хоттабыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мы ранеее вставили в таблицу дополнительный столбец last_accessed и в поля этого дополнительного столбца необходимо вставить ну, скажем, дату ('20040921' в нашем случае), но вставить только при определённых значениях ('1007' в моём случае) полей другого столбца (столбца сименем emp_id )
...
Рейтинг: 0 / 0
Синтаксическая ошибка в команде INSERT...Value...WHERE
    #32704742
BigHarry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тады, наверно, так:
UPDATE tb1 SET last_accessed = '20040921' WHERE emp_id='1007';
...
Рейтинг: 0 / 0
Синтаксическая ошибка в команде INSERT...Value...WHERE
    #32705309
Хоттабыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, пердложенный Вами вариант сработал!
Но мне хочется понять, почему всё-таки выплывает СИНТАКСИЧЕСКАЯ ошибка в описанной выше команде 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
Синтаксическая ошибка в команде INSERT...Value...WHERE
    #32705710
BigHarry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы неправильно понимаете (или - в документации ошибка) команду INSERT. Она не вставляет данные в существующие строки, она вставляет новые строки и забивает их данными. Т.е. условие там просто отсутсвует.
...
Рейтинг: 0 / 0
Синтаксическая ошибка в команде INSERT...Value...WHERE
    #32707081
guest1187
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так в этом документе подразумевается, что этот запрос должен поле emp_id добавить в таблицу. (то есть и insert и alter table в одном флаконе).
Я, конечно, далек от синтаксиса MySql, просто хотелось бы узнать такое действительно возможно?
...
Рейтинг: 0 / 0
Синтаксическая ошибка в команде INSERT...Value...WHERE
    #32707095
guest1187
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то я поторопислся с выводами. Действительно добавляется last_accessed а не emp_id. Предыдущую реплику снимаю.
...
Рейтинг: 0 / 0
Синтаксическая ошибка в команде INSERT...Value...WHERE
    #32707407
BigHarry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
INSERT и UPDATE в одном флаконе - REPLACE по таблице с ключем, но если на эту таблицу есть форейны - то можно жестоко поплатиться...
...
Рейтинг: 0 / 0
Синтаксическая ошибка в команде INSERT...Value...WHERE
    #32707656
Хоттабыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. guest1187. Спасибо BigHarry.
Я, почитав немного литературу по этому вопросу, склоняюсь к мнению, что команда
INSERT ... values ( ... ), как и предположил BigHarry, спроектирована для безусловного (никаких WHERE) употребления.
А том руководстве, из которого я взял её, команда INSERT была ошибочно записана с уловием ( WHERE...).
Хоттабыч.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Синтаксическая ошибка в команде INSERT...Value...WHERE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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