Zadejte hledaný výraz...

Mysql > prohození parametrů mezi dvěma záznamy

David Kácha
verified
rating uzivatele
(39 hodnocení)
24. 6. 2013 21:38:16
Pěkný večer přeji
Rád bych vás poprosil, jak docílím prohození ID u dvou záznamů v mysql. Dle mého to asi musí jít nějak "inteligentněji", nicméně mě nefunguje ani toto.
mysql_query("UPDATE `who-we-help` SET `id` = '0' WHERE `id` = ".$_GET);
mysql_query("UPDATE `who-we-help` SET `id` = '".$_GET."' WHERE `id` = ".$_GET);
mysql_query("UPDATE `who-we-help` SET `id` = '".$_GET."' WHERE `id` = ".$_GET);
Prosím a zároveň děkuji
24. 6. 2013 21:38:16
https://webtrh.cz/diskuse/mysql-prohozeni-parametru-mezi-dvema-zaznamy#reply916264
Jan Stejskal
verified
rating uzivatele
(7 hodnocení)
24. 6. 2013 22:00:55
ID jako identifikátor záznamu nikdy nepotřebujete měnit, pokud ano, je databáze špatně navržená. Navíc u vašeho provedení, pokud jeden z dotazů selže, už tu tabulku nedáte nikdy dohromady.
24. 6. 2013 22:00:55
https://webtrh.cz/diskuse/mysql-prohozeni-parametru-mezi-dvema-zaznamy#reply916263
nulanu
verified
rating uzivatele
(16 hodnocení)
24. 6. 2013 22:04:42
Presne jak pise Honza :)
24. 6. 2013 22:04:42
https://webtrh.cz/diskuse/mysql-prohozeni-parametru-mezi-dvema-zaznamy#reply916262
jirin
verified
rating uzivatele
(5 hodnocení)
24. 6. 2013 22:21:50
Pokud použije transakce a selže jeden dotaz, tak máme rollback ne?
Nicméně taky bych nedoporučoval to měnit
24. 6. 2013 22:21:50
https://webtrh.cz/diskuse/mysql-prohozeni-parametru-mezi-dvema-zaznamy#reply916261
Pokud se jedna o autoincrement, jakoze ano, pokud je db spravne navrzena, pak tento udaj ani zmenit nelze.
24. 6. 2013 22:40:46
https://webtrh.cz/diskuse/mysql-prohozeni-parametru-mezi-dvema-zaznamy#reply916260
a nebo jen dotazem nacist data obou zaznamu a pak jednoduchym UPDATE aktualizovat s prohozenym ID.
24. 6. 2013 22:51:36
https://webtrh.cz/diskuse/mysql-prohozeni-parametru-mezi-dvema-zaznamy#reply916259
to prohozeni pres update nebude dle me fungovat ... nactes si obe ID, provedes update prvni a okamzite selzes na unique id ...
24. 6. 2013 22:53:38
https://webtrh.cz/diskuse/mysql-prohozeni-parametru-mezi-dvema-zaznamy#reply916258
David Kácha
verified
rating uzivatele
(39 hodnocení)
24. 6. 2013 23:07:38
Tak se tedy vyhnu manipulaci s ID, děkuji za upozornění.
Nicméně při použití
Bohužel opravdu druhý dotaz selže. Proměnné se samozřejmě načítají z URL.
24. 6. 2013 23:07:38
https://webtrh.cz/diskuse/mysql-prohozeni-parametru-mezi-dvema-zaznamy#reply916257
At zije SQL Injection :D
A u typu varchar se poziva LIKE misto =
24. 6. 2013 23:14:10
https://webtrh.cz/diskuse/mysql-prohozeni-parametru-mezi-dvema-zaznamy#reply916256
David Kácha
verified
rating uzivatele
(39 hodnocení)
24. 6. 2013 23:44:50
Napsal mytrix;965907
At zije SQL Injection :D
A u typu varchar se poziva LIKE misto =
Není to varchar, ale int a toto je pouze v administraci takto řešené.
24. 6. 2013 23:44:50
https://webtrh.cz/diskuse/mysql-prohozeni-parametru-mezi-dvema-zaznamy#reply916255
pak by tam ale nemely byt ty jednoduche uvozovky.. ale to jen na okraj
24. 6. 2013 23:56:53
https://webtrh.cz/diskuse/mysql-prohozeni-parametru-mezi-dvema-zaznamy#reply916254
David Kácha
verified
rating uzivatele
(39 hodnocení)
25. 6. 2013 00:16:15
Napsal mytrix;965919
pak by tam ale nemely byt ty jednoduche uvozovky.. ale to jen na okraj
Asi tam nejsou potřebné, ale tak mi to vyhodilo přímo v phpmyadmin.
---------- Příspěvek doplněn 25.06.2013 v 11:25 ----------
Nechápu, proč nefunguje následující, když mi to přímo vyplivlo v phpmyadmin.
25. 6. 2013 00:16:15
https://webtrh.cz/diskuse/mysql-prohozeni-parametru-mezi-dvema-zaznamy#reply916253
Napsal gransy;965904
to prohozeni pres update nebude dle me fungovat ... nactes si obe ID, provedes update prvni a okamzite selzes na unique id ...
proc by selhal na unique klici, kdyz pak v update dotazech se updatuje jen data bez id :-)
25. 6. 2013 20:10:31
https://webtrh.cz/diskuse/mysql-prohozeni-parametru-mezi-dvema-zaznamy#reply916252
MAHI
verified
rating uzivatele
(15 hodnocení)
25. 6. 2013 21:29:46
Napsal David Kácha;965925
ANechápu, proč nefunguje následující, když mi to přímo vyplivlo v phpmyadmin.
1) nemuzes davat vice queries do mysql_query. Mas tam dve, musi byt jedna. Tak pokud to chces takto, rozdel to.
2) misto mysql_query je dobre pouzivat nejakou abstraktni vrstvu nebo alespon mysqli
25. 6. 2013 21:29:46
https://webtrh.cz/diskuse/mysql-prohozeni-parametru-mezi-dvema-zaznamy#reply916251
Pro odpověď se přihlašte.
Přihlásit