информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медSpanning Tree Protocol: недокументированное применениеЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / sysadmin
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
mysql - error 1093 (hy000): you can't specify target table 27.12.05 16:43  
Автор: Cyber_Onix Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Всем привет
есть следующая проблема - делаю запрос:

update news set sh = '1' where id = (select id from news where sh = '0' order by id limit 1);

Получаю ответ:

ERROR 1093 (HY000): You can't specify target table 'news' for update in FROM clause


Как с этим можно бороться?
RTFM. в MySQL. Недопустимо в одном запросе читать и менять значения одной и той же таблицы. Это приводит к коллизии. 31.12.05 11:14  
Автор: kstati <Евгений Борисов> Статус: Elderman
<"чистая" ссылка>
А такая конструкция вообще имеет право на существование? 27.12.05 18:29  
Автор: Yurii <Юрий> Статус: Elderman
<"чистая" ссылка>
Думаю MySQL не догадывается, что в скобках получится единственное значение.
Может на два запроса разбить, первый select, а второй update?
Может вместо id = (select ... написать 27.12.05 17:22  
Автор: ZloyShaman <ZloyShaman> Статус: Elderman
<"чистая" ссылка>
Может вместо id = (select ... написать
id IN (select...
:( 27.12.05 18:05  
Автор: Cyber_Onix Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Может вместо id = (select ... написать
> id IN (select...

:(
ERROR 1235 (42000): This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'

mysql-server-5.0.13
Ну, значит не поддерживает от limit в подзапросах. значит... 27.12.05 18:27  
Автор: ZloyShaman <ZloyShaman> Статус: Elderman
<"чистая" ссылка>
> ERROR 1235 (42000): This version of MySQL doesn't yet
> support 'LIMIT & IN/ALL/ANY/SOME subquery'
Ну, значит не поддерживает от LIMIT в подзапросах. Значит находи сначала этот id, сохраняй в переменную, а потом вызывай UPDATE.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach