SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 30.05.2010 08:25:42

vober
Участник
Зарегистрирован: 30.05.2010
Сообщений: 1

Проблема с UPDATE

День добрый.
Ребят, выручайте.

Имеется таблица
SQL:

   1.  CREATE TABLE `tb` (
   2.  `ID` int(11) NOT NULL auto_increment,
   3.  `aa` int(11) default NULL,
   4.  PRIMARY KEY (`ID`)
   5.  ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=cp1251


Т.е. в ней всего два поля: уникальный ID и какие-то данные.
Моя задача - обменять две строки друг с другом данными при сохранении ID.

Допустим, в таблице две строки: (ID,aa): (1,1) и (2,2).
Мне нужно сделать (1,2) и (2,1);

Запрос
SQL:

   1.  UPDATE tb t1, tb t2
   2.  SET t1.aa=t2.aa, t2.aa=t1.aa
   3.  WHERE t1.ID=1 AND t2.ID=2;

приводит к тому, что я получаю (1,2) и (2,2).

Как мне добиться нужного результата?

Неактивен

 

#2 31.05.2010 19:36:29

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Проблема с UPDATE

Подсказка: менять нужно не aa, а ID. И только в три разных запроса. Но только
зачем Вам это?

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson