Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поменять местами значения двух полей одной таблицы
 
 автор: Лена   (31.03.2009 в 23:27)   письмо автору
 
 

Сделала, как ниже, но осталось сомнение, что это можно сделать короче (чтобы не тремя запросами)

<?php
include("configs/dbopen.php");
$sql "SELECT im FROM img2";
$res mysql_query($sql);
if(!
$res) exit("Error in" $sql mysql_error());

while(
$row mysql_fetch_row($res)){
    
$sql "UPDATE img2 SET im = im2";
    
$res mysql_query($sql);
    if(!
$res) exit("Error in" $sql mysql_error());
    
$sql "UPDATE img2 SET im2 = '" $row[0] . "'";
    
$res mysql_query($sql);
    if(!
$res) exit("Error in" $sql mysql_error());
}
?>

  Ответить  
 
 автор: Trianon   (01.04.2009 в 10:43)   письмо автору
 
   для: Лена   (31.03.2009 в 23:27)
 

Как я понимаю, это разовая акция - лучше сделать это через дополнительный столбец. Честнее.

  Ответить  
 
 автор: Лена   (01.04.2009 в 11:19)   письмо автору
 
   для: Trianon   (01.04.2009 в 10:43)
 

Но потом же все равно дополнительный столбец надо убить.

  Ответить  
 
 автор: Trianon   (01.04.2009 в 12:13)   письмо автору
 
   для: Лена   (01.04.2009 в 11:19)
 

Точно также как и то, что сперва его нужно создать.

  Ответить  
 
 автор: Лена   (01.04.2009 в 13:26)   письмо автору
 
   для: Trianon   (01.04.2009 в 12:13)
 

Я смысла не вижу во всех этих действиях.
Перед тем, как запустить скрипт , я создала тестовую таблицу с тремя полями и тремя рядами, проверила работу скрипта и потом уже использовала его там, где мне нужно.
Так зачем тогда создавать дополнительный столбец и потом его же удалять?

  Ответить  
 
 автор: Trianon   (01.04.2009 в 13:49)   письмо автору
 
   для: Лена   (01.04.2009 в 13:26)
 

Я же сказал, что это в предположении, что это разовая административная акция.

Представить себе ситуацию, в которой требуется систематически менять значения полей местами, я не могу.

  Ответить  
 
 автор: Лена   (01.04.2009 в 14:05)   письмо автору
 
   для: Trianon   (01.04.2009 в 13:49)
 

Да, это разовая акция. Спасибо за ответы.

  Ответить  
 
 автор: Valick   (01.04.2009 в 17:05)   письмо автору
 
   для: Лена   (01.04.2009 в 14:05)
 

А почему нельзя просто переименовать столбцы?

  Ответить  
 
 автор: Trianon   (01.04.2009 в 17:42)   письмо автору
 
   для: Valick   (01.04.2009 в 17:05)
 

Вероятно, выполнить это нужно не для всех строк. :)

  Ответить  
 
 автор: Лена   (01.04.2009 в 18:00)   письмо автору
 
   для: Trianon   (01.04.2009 в 17:42)
 

Да, не для всех, только определенного диапазона, а другие записи не трогать.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования