Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Помогите написать запрос
#11
результатом заделись - интересно, что выйдет в итоге.
Ответ
#12
DreamCast Написал:нет возможности проверить, возможно, так будет работать тоже:
UPDATE character_subclasses SET class_index=(class_index+1)
WHERE charid=111
AND class_index=1
AND class_idexp=(SELECT class_idexp FROM character_subclasses WHERE charid=1111);

Добавлено через 2 минуты
точнее так)
UPDATE character_subclasses SET class_index=(SELECT MAX(class_index) FROM character_subclasses WHERE charid=1111)+1
WHERE charid=111
AND class_index=1
AND class_idexp=(SELECT class_idexp FROM character_subclasses WHERE charid=1111);

You can't specify target table 'character_subclasses' for update in FROM clause

Добавлено через 30 секунд
DreamCast Написал:результатом заделись - интересно, что выйдет в итоге.

Естественно)) Пока додумываю свой метод.
Ответ
#13
По поводу You can't specify target table все верно ибо запрос составлен неправильно. Нельзя в одном запросе читать и изменять значения в одной таблице. Коллизия происходит и в итоге получаете эту ошибку.
Ответ
#14
Простите, а написать не ЗАПРОС а SQL скрипт с использованием курсоров вам что-то мешает?
- создаете временную табличку для ИД
- делаете селект в курсор
- итерируете курсор, если находите запись подходящую под условия изменения, то заносите ее во временную таблицу
- делаете апдейт по основной таблице и временной
Ответ
#15
Azagthtot Написал:Простите, а написать не ЗАПРОС а SQL скрипт с использованием курсоров вам что-то мешает?
- создаете временную табличку для ИД
- делаете селект в курсор
- итерируете курсор, если находите запись подходящую под условия изменения, то заносите ее во временную таблицу
- делаете апдейт по основной таблице и временной

Курсор я так понимаю это типо mysql_result($запрос, 0, 1) ?

Я вчера ночью так и сделал все, но проблема в сортировки. Все ставиться ни там где надо, мускул произвольно вывод делает,а не по порядку записей. Но сегодня с сортировкой сделаю, добавлю столбец по ИД, посмарю что получиться.

Добавлено через 8 минут
Если оставить лишь 3 записи с одинаковыми обж_ид, а ост удалить, то все верно расставляеться. Вобщем буду сортировку ставить)
Ответ
#16
курсор - это
DECLARE cur1 CURSOR FOR SELECT .... FROM zz;
Ответ
#17
Azagthtot Написал:курсор - это
DECLARE cur1 CURSOR FOR SELECT .... FROM zz;

Спасибо, такой первый раз вижу, так как на стадии учения Smile Буду пробывать.

Добавлено через 1 час 17 минут
Примерно понял для чего нужен ДЕКЛАР, но до конца не могу вьехать как сделать то, что мне надо. Ни где нет нормального объяснения как правельно составить этот SQL скрипт (синтаксис). Sad Если не сложно н аживом примере покажи пожалуйста.

Добавлено через 4 часа 14 минут
Всем спасибо кто помогал, короче сделал так:

PHP код:
<?php 
//макс кол-во выполнения цикла (от кол-во записей)
$max_char = mysql_query("SELECT COUNT(*) FROM character_subclasses");
$Rmax_char = mysql_result($max_char, 0);

//изымаем чар_ид фулл
$char_main = mysql_query("SELECT charId FROM character_subclasses ORDER BY id");

//создаем цикл выполнения обновлений
for ($i = 0; $i <= $Rmax_char-1; $i++) {
$chars = mysql_query("SELECT class_id FROM character_subclasses WHERE charId='".@mysql_result($char_main, $i)."'");
mysql_query("UPDATE character_subclasses SET class_index='1' WHERE charId='".@mysql_result($char_main, $i)."' AND class_id='".@mysql_result($chars, 0, 0)."'");
mysql_query("UPDATE character_subclasses SET class_index='2' WHERE charId='".@mysql_result($char_main, $i)."' AND class_id='".@mysql_result($chars, 1, 0)."'");
mysql_query("UPDATE character_subclasses SET class_index='3' WHERE charId='".@mysql_result($char_main, $i)."' AND class_id='".@mysql_result($chars, 2, 0)."'");
}
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  помогите написать скрипт hoske 6 2,586 09-08-2014, 12:00 AM
Последний пост: xolseg
  SQL запрос PHP MystX 10 3,496 08-09-2013, 05:06 PM
Последний пост: asura013
  mysql запрос APKO 38 10,306 03-27-2012, 03:22 PM
Последний пост: x3k
  Запрос Extez1 6 2,379 02-06-2012, 08:09 PM
Последний пост: Extez1
  Помогите исправить ошибку. SkillSk8 3 3,417 07-16-2011, 08:06 AM
Последний пост: webadequate
  скрипт регистрация на сервере помогите gebriel 1 2,398 04-12-2011, 11:27 PM
Последний пост: Kos-Master
  Помогите прописать скрипт Дуеля Realson 1 2,733 10-28-2010, 08:39 AM
Последний пост: Bonabo
  Помогите разобраться со скриптом Fennom 4 2,942 08-15-2010, 09:19 PM
Последний пост: AlexDIXI
  PHP Запрос. PuShKinG 7 4,318 04-13-2010, 09:01 AM
Последний пост: Cool_prime
  Помогите плиз с PHP!!! Кабан 9 3,768 03-23-2010, 11:43 AM
Последний пост: nelegal

Перейти к форуму:


Пользователи, просматривающие эту тему: 2 Гость(ей)