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

Форум MySQL

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

 

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

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

тема: UPDATE+
 
 автор: Artem S.   (26.12.2004 в 04:19)   письмо автору
 
 

Помогите разобраться.
Сейчас у меня так
<?
$resut
=mysql_fetch_array(mysql_query("SELECT email FROM users WHERE name='name1'"));
$result=mysql_query("UPDATE users SET email=$result WHERE name='name2');
?>

А можно как нибудь обойтись одним UPDATE'ом?
AS в UPDATE не действует.
Пробовал так
$result=mysql_query("UPDATE users SET email= (SELECT name FROM users WHERE name='name1') WHERE name='name'") ;
И так
$result=mysql_query("UPDATE users AS u1, users AS u2 SET u1.email=u2.email WHERE u1.name='name' ");
Ничего не вышло. Другми словами мне надо обнавить значение одного поля значением другого в этой же таблице.

   
 
 автор: cheops   (26.12.2004 в 12:42)   письмо автору
 
   для: Artem S.   (26.12.2004 в 04:19)
 

Нет в один оператор не получится, так как вложенных запросов как у вас в первом варианте в стабильных версиях MySQL пока нет. Вот если таблицы users были разные, тогда можно было как у вас во втором варианте.
UPDATE user1, user2 SET user1.email = user2.email
WHERE user2.name='name2' AND user1.name='name1'

   
Rambler's Top100
вверх

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