Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Запись столбца по ID


Автор: tailer_derden 28.3.2010, 12:09
Добрый день!

Постараюсь подробнее отразить суть вопроса...
Есть 2ве таблицы, например table1 и table2 вида

table1                               table2

id |  name  | id_sp                 id_i |  desc  | id_sp
----------------------                   ----------------------
 1 | name1 |  6                         1  | desc1 | 14
 2 | name2 | 14                        4  | desc2 |  5
 3 | name3 |  5                         8  | desc3 |  6

Надо убрать table2, и перенести програмно все записи из table2 столбца desc, записи, соответствующие id_sp

Собственно начал с того, что создал в table1 столбец desc_new и написал пример вывода записей:

Код

$result = mysql_query('SELECT table1.*, table2.* FROM table1 
LEFT OUTER JOIN table2 on table2.id_sp = table1.id_sp');
while($rows = mysql_fetch_array($result)) {      
echo $rows['desc']; //выводим все записи столбца desc (table2) соответствующие количеству записей table1, где table2.id_sp = table1.id_sp            
$sql = mysql_query ('UPDATE table1 SET desc_new = '.$rows['desc'].'');      
}      
echo "успешно";


Только вот запрос
Код

$sql = mysql_query ('UPDATE table1 SET desc_new = '.$rows['desc'].'');

не выполняется, или может выполняется, но неправильно?

P.S. я бы и сам просто переписал вручную все записи, но у table1 их очень много



  

Автор: Fortop 28.3.2010, 12:41
UPDATE не занимается вставкой данных в таблицу.
Он обновляет уже существующие записи.

Автор: Photon 28.3.2010, 13:38
Цитата(Fortop @  28.3.2010,  13:41 Найти цитируемый пост)
UPDATE не занимается вставкой данных в таблицу.Он обновляет уже существующие записи.

А человеку и надо обновить записи..  Добавить одно поле..

Код

$result = mysql_query('SELECT table1.*, table2.* FROM table1 
LEFT OUTER JOIN table2 on table2.id_sp = table1.id_sp');
while($rows = mysql_fetch_array($result)) {      
     $sql = mysql_query ('UPDATE table1 SET desc_new = '.$rows['desc'].' where id = '.$rows['id']);      
}      
echo "успешно";


Вот так должно работать..  Если я правильно понял задачу.

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