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





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
:( 27.12.05 18:05  Число просмотров: 2172
Автор: 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
<sysadmin>
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-2019 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach