ъпдейт на бд

renegat96

Registered
така
не мога да се справя сам и затова питам
как да ъпдейтна два полета в две различни таблици... с една заявка
и възможно ли е ?
 
renegat96 каза:
така
не мога да се справя сам и затова питам
как да ъпдейтна два полета в две различни таблици... с една заявка
и възможно ли е ?

http://dev.mysql.com/doc/refman/5.0/en/update.html



Код:
Table A 


+--------+-----------+
| A-num  | text          | 
|    1   |                          |
|    2   |                          |
|    3   |                          |
|    4   |                          |
|    5   |                          |
+--------+-----------+

Table B:

+------+------+--------------+
| B-num|  date        |  A-num | 
|  22  |  01.08.2003  |     2  |
|  23  |  02.08.2003  |     2  |
 |  24  |  03.08.2003  |     1  |
|  25  |  04.08.2003  |     4  |
|  26  |  05.03.2003  |     4  |

I will update field text in table A
with 
UPDATE `Table A`,`Table B`
SET `Table A`.`text`=concat_ws('',`Table A`.`text`,`Table B`.`B-num`," from ",`Table B`.`date`,'/')
WHERE `Table A`.`A-num` = `Table B`.`A-num`

and come to this result
Table A 

+--------+------------------------+
| A-num  | text                   | 
|    1   |  24 from 03 08 2003 /  |
|    2   |  22 from 01 08 2003 /  |      
|    3   |                        |
|    4   |  25 from 04 08 2003 /  |
|    5   |                        |
 
@jooorooo горе долу разбрах кода
обаче не съм сигурен
имам по едно поле за ъпдейт във двете таблици
така ще стане ли
ако съм разбрал правилно трябва да стане..
Код:
UPDATE `table1`, `table2` SET `table1`.`pole1`= `table1`.`pole1`+1 `table2`.`pole2`=`table2`.`pole2`=`table2`.`pole2`
 
renegat96 каза:
@jooorooo горе долу разбрах кода
обаче не съм сигурен
имам по едно поле за ъпдейт във двете таблици
така ще стане ли
ако съм разбрал правилно трябва да стане..
Код:
UPDATE `table1`, `table2` SET `table1`.`pole1`= `table1`.`pole1`+1 `table2`.`pole2`=`table2`.`pole2`=`table2`.`pole2`
не ползвай ` ....
 
hellfire каза:
renegat96 каза:
@jooorooo горе долу разбрах кода
обаче не съм сигурен
имам по едно поле за ъпдейт във двете таблици
така ще стане ли
ако съм разбрал правилно трябва да стане..
Код:
UPDATE `table1`, `table2` SET `table1`.`pole1`= `table1`.`pole1`+1 `table2`.`pole2`=`table2`.`pole2`=`table2`.`pole2`
не ползвай ` ....
т.е. така
Код:
UPDATE table1, table2 SET table1.pole1= table1.pole1+1 table2.pole2=table2.pole2=table2.pole2+1
 
renegat96 каза:
hellfire каза:
renegat96 каза:
@jooorooo горе долу разбрах кода
обаче не съм сигурен
имам по едно поле за ъпдейт във двете таблици
така ще стане ли
ако съм разбрал правилно трябва да стане..
Код:
UPDATE `table1`, `table2` SET `table1`.`pole1`= `table1`.`pole1`+1 `table2`.`pole2`=`table2`.`pole2`=`table2`.`pole2`
не ползвай ` ....
т.е. така
Код:
UPDATE table1, table2 SET table1.pole1= table1.pole1+1 table2.pole2=table2.pole2=table2.pole2+1
не съм правил с ъпдейт но пробвай така
mysql_query("UPDATE table1 a, table2 b SET a.pole1='ne6u', b.pole2='ne6u' WHERE a.pole='ne6u',b.pole='ne6u'");
не съм сигурен за селект е 100% сигурен с а б ц д ...
но все пак пробвай :)
 
hellfire каза:
renegat96 каза:
@jooorooo горе долу разбрах кода
обаче не съм сигурен
имам по едно поле за ъпдейт във двете таблици
така ще стане ли
ако съм разбрал правилно трябва да стане..
Код:
UPDATE `table1`, `table2` SET `table1`.`pole1`= `table1`.`pole1`+1 `table2`.`pole2`=`table2`.`pole2`=`table2`.`pole2`
не ползвай ` ....

защо да не ползва?


UPDATE `table1`, `table2` SET `table1`.`pole1`= `table1`.`pole1`+1 `table2`.`pole2`=`table2`.`pole2`=`table2`.`pole2`

така ще упдеитне червените
 
hellfire каза:
renegat96 каза:
hellfire каза:
не ползвай ` ....
т.е. така
Код:
UPDATE table1, table2 SET table1.pole1= table1.pole1+1 table2.pole2=table2.pole2=table2.pole2+1
не съм правил с ъпдейт но пробвай така
mysql_query("UPDATE table1 a, table2 b SET a.pole1='ne6u', b.pole2='ne6u' WHERE a.pole='ne6u',b.pole='ne6u'");
не съм сигурен за селект е 100% сигурен с а б ц д ...
но все пак пробвай :)
не става така

@jooorooo я така как да задам WHERE ?
 
Код:
 UPDATE `table1`, `table2` SET `table1`.`pole1`= `table1`.`pole1`+1 `table2`.`pole2`=`table2`.`pole2`=`table2`.`pole2` WHERE `table1`.`pole1`=1

примерно
 
jooorooo каза:
Код:
 UPDATE `table1`, `table2` SET `table1`.`pole1`= `table1`.`pole1`+1 `table2`.`pole2`=`table2`.`pole2`=`table2`.`pole2` WHERE `table1`.`pole1`=1

примерно
т.е. така
Код:
 UPDATE `table1`, `table2` SET `table1`.`pole1`= `table1`.`pole1`+1 `table2`.`pole2`=`table2`.`pole2`=`table2`.`pole2` WHERE `table1`.`pole1`=1, `table2`.`pole2`=2
така ли ?
 
работи перфекно даже го пробвах :)
$x = mysql_query("
UPDATE comentz a, com_news b SET a.game_id=a.game_id+1, b.game_id=b.game_id+1
WHERE a.game_id='15' AND b.game_id='3'") or die (mysql_error());
 
hellfire каза:
работи перфекно даже го пробвах :)
$x = mysql_query("
UPDATE comentz a, com_news b SET a.game_id=a.game_id+1, b.game_id=b.game_id+1
WHERE a.game_id='15' AND b.game_id='3'") or die (mysql_error());
не знам ама при мен не става..
трябва да го цъкна два пъти за да стане...
 

Back
Горе