Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > Проблема с UPDATE


Автор: omickron 29.5.2010, 23:06
День добрый. 
Ребят, выручайте. 

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

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



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

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

Запрос SQL:
Код

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



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

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



Замечено одно обстоятельство. 
На моём локальном хосте в результате последнего запроса обновляются две строки. 
А на сервере хостера - одна строка. 

Очевидно, загвоздка где-то в одной из переменных MySQL. Только вот в какой?

Автор: Akina 30.5.2010, 11:43
Цитата(omickron @  30.5.2010,  00:06 Найти цитируемый пост)
Как мне добиться нужного результата?

Копировать данные в ДРУГУЮ таблицу, выполняя соотв. обработку.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)