|
|
|
Синтаксическая ошибка в команде INSERT...Value...WHERE
|
|||
|---|---|---|---|
|
#18+
Я ввёл команду: 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) Помогите найти ошибку. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2004, 12:18 |
|
||
|
Синтаксическая ошибка в команде INSERT...Value...WHERE
|
|||
|---|---|---|---|
|
#18+
А зачем в команде insert условие where? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2004, 12:25 |
|
||
|
Синтаксическая ошибка в команде INSERT...Value...WHERE
|
|||
|---|---|---|---|
|
#18+
Мы ранеее вставили в таблицу дополнительный столбец last_accessed и в поля этого дополнительного столбца необходимо вставить ну, скажем, дату ('20040921' в нашем случае), но вставить только при определённых значениях ('1007' в моём случае) полей другого столбца (столбца сименем emp_id ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2004, 16:21 |
|
||
|
Синтаксическая ошибка в команде INSERT...Value...WHERE
|
|||
|---|---|---|---|
|
#18+
Тады, наверно, так: UPDATE tb1 SET last_accessed = '20040921' WHERE emp_id='1007'; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2004, 16:28 |
|
||
|
Синтаксическая ошибка в команде INSERT...Value...WHERE
|
|||
|---|---|---|---|
|
#18+
Спасибо, пердложенный Вами вариант сработал! Но мне хочется понять, почему всё-таки выплывает СИНТАКСИЧЕСКАЯ ошибка в описанной выше команде 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, она взята оттуда и при её использовании и выплыла синтаксическая ошибка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2004, 23:27 |
|
||
|
Синтаксическая ошибка в команде INSERT...Value...WHERE
|
|||
|---|---|---|---|
|
#18+
Вы неправильно понимаете (или - в документации ошибка) команду INSERT. Она не вставляет данные в существующие строки, она вставляет новые строки и забивает их данными. Т.е. условие там просто отсутсвует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2004, 10:30 |
|
||
|
Синтаксическая ошибка в команде INSERT...Value...WHERE
|
|||
|---|---|---|---|
|
#18+
Так в этом документе подразумевается, что этот запрос должен поле emp_id добавить в таблицу. (то есть и insert и alter table в одном флаконе). Я, конечно, далек от синтаксиса MySql, просто хотелось бы узнать такое действительно возможно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2004, 16:54 |
|
||
|
Синтаксическая ошибка в команде INSERT...Value...WHERE
|
|||
|---|---|---|---|
|
#18+
Что-то я поторопислся с выводами. Действительно добавляется last_accessed а не emp_id. Предыдущую реплику снимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2004, 16:58 |
|
||
|
Синтаксическая ошибка в команде INSERT...Value...WHERE
|
|||
|---|---|---|---|
|
#18+
INSERT и UPDATE в одном флаконе - REPLACE по таблице с ключем, но если на эту таблицу есть форейны - то можно жестоко поплатиться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2004, 18:41 |
|
||
|
Синтаксическая ошибка в команде INSERT...Value...WHERE
|
|||
|---|---|---|---|
|
#18+
Спасибо. guest1187. Спасибо BigHarry. Я, почитав немного литературу по этому вопросу, склоняюсь к мнению, что команда INSERT ... values ( ... ), как и предположил BigHarry, спроектирована для безусловного (никаких WHERE) употребления. А том руководстве, из которого я взял её, команда INSERT была ошибочно записана с уловием ( WHERE...). Хоттабыч. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2004, 23:37 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=47&tid=1854788]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 458ms |

| 0 / 0 |
