ъпдейт от една таблица в друга

embaka

Registered
здравейте,

значи много се обърках с едни таблици, искам да ъпдейтна една таблица и по точно някой от полетата

таблица cats id, name
таблица new hist1, hist1_id


идеята е следната, ако name от cats == hist1 от new, да обнови всички полета hist1_id от new с номерата от id

значи hist1_id да вземе стойността id ако съответстват имената от cats.name и new.hist1
 
Код:
<?php

$res = mysql_query("SELECT n.hist1, n.hist1_id, c.id as nov_id, c.name FROM new as n LEFT JOIN cats as c WHERE n.hist1=c.name");
while($row=mysql_fetch_array($res)) {
     mysql_query("UPDATE new SET hist1_id='{$row[nov_id]}' WHERE new.hist1='{$row[name]}'");
}
?>

така?
 
това нещо се дъни при първата заявка

Код:
$res = mysql_query("SELECT n.hist1, n.hist1_id, c.id as nov_id, c.name FROM test_get_new as n LEFT JOIN cats as c WHERE n.hist1=c.name") or die ("obhojdane");
//print_r($res);
while($row=mysql_fetch_array($res)) {
     mysql_query("UPDATE test_get_new SET hist1_id='".$row[nov_id]."' WHERE new.hist1='".$row[name]."'") or die ("update");
}
 
Код:
	$res = mysql_query("SELECT test_get_new.hist1, test_get_new.hist1_id, c.id as nov_id, c.name FROM test_get_new LEFT JOIN cats as c WHERE test_get_new.hist1=c.name") or die ("obhojdane");
//print_r($res);
while($row=mysql_fetch_array($res)) {
     mysql_query("UPDATE test_get_new SET hist1_id='".$row[nov_id]."' WHERE test_get_new.hist1='".$row[name]."'") or die ("update");
}

П.С. Каква е грешката? Ползвай mysql_error()
 
gamena007 каза:
Код:
	$res = mysql_query("SELECT test_get_new.hist1, test_get_new.hist1_id, c.id as nov_id, c.name FROM test_get_new LEFT JOIN cats as c WHERE test_get_new.hist1=c.name") or die ("obhojdane");
//print_r($res);
while($row=mysql_fetch_array($res)) {
     mysql_query("UPDATE test_get_new SET hist1_id='".$row[nov_id]."' WHERE test_get_new.hist1='".$row[name]."'") or die ("update");
}

П.С. Каква е грешката? Ползвай mysql_error()

грешката е в SQL не е WHERE, а ON, мерси все пак :)
 

Back
Горе