информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetВсе любят медГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft обещает радикально усилить... 
 Ядро Linux избавляется от российских... 
 20 лет Ubuntu 
главная обзор 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