|
|
zajištění stejného id v MYSQL
|
22.12.2006 22:46
V O
|
Ahoj lidi. Tak nejak se ucim php na jednom projektu co tvorim a zarazil sem se pred pro me neresitelnym problemem. Potrebuji pomoct. :)
Pisu forum a pro rychlejsi fulltextove hledani jsem zvolil moznost rozdelit prispevek vzdy do dvou tabulek. Jedna obsahuje info a jedna obsah. Jenze jak zajistit stejný unikátní klíč? Napadla mě možnost kterou sem ale hned vyloučil. Nejdrive bych zapsal data do tabulky info, nechal ji priradit unikátní klíč, poté bych tento klíč zjistil a vložil spolu s obsahem prispevku do druhe tabulky. Jenze co kdyz mezitim co vlozimdo tabulky info data a vyberu z ni klic posledniho prispevku nekdo jiny spusti stejny script, ktery vlozi dalsi novy prispevek, prvni skript si vezme klic z druheho prispevku a vznikne tak chaoz a prispevky se nepriradi spravne? Tedy me napadlo vygenerovat nahodny klic uz v php pred vlozenim prispevku do dtb, ale az tam bude hodne prispevku, tak se muze vygenerovat stejny klic. Sice to muzu zase testovat, ale az budou temer vsechny moznosti podoby klice vycerpany a tedy by se klic generoval tolikrat nez by se nasla nejaka volna varianta a to by trvalo hodne dlouho (je to asi hodne nepravdepodobne ale urcite mozne). Tedy jsem se chtel zeptat jak to resite vy? Ja jsem nenasel zadny navod na toto, v serialu na tomto webu jsem se take poradne reseni nedozvedel tak se obracim na vas.
Predem dekuji za odpoved a nedivte se, teprve zacinam ;). |
|
|
Re: zajištění stejného id v MYSQL
|
23.12.2006 19:15
Srigi
|
Pouzi transakcne tabulky (INNODB). A cele pridanie prispevku napis ako transakciu. Tu na serveri v seriali o MySQL sa to preberalo.
Ale radsej si mal mat cely prispevok v jenom zazname. |
|
|
Re: zajištění stejného id v MYSQL
|
23.12.2006 19:18
Srigi
|
Viac tu. |
|
|
Re: zajištění stejného id v MYSQL
|
24.12.2006 07:06
MaReK Olšavský
|
Nemýlím-li se, MySQL 5 už transakce umí i na svých tabulkách a mnoho dalšího, stačí se podívat.
Proč si tazatel ihned po uložení první části nevezme příkazem v php mysql-insert-id hodnotu id z posledního dotazu a tu pak nepoužije, je to vázáno na pointer dotazu, takže dotaz v druhém vlákně který ukládá do stejné tabulky toto ID neohrožuje, takže netřeba se bát, že jí mezitím přepíše někdo jiný dalším insertem (zkoušeno a navíc 2 současné inserty jsou i u hodně aktivního fóra extrémně nepravděpodobné). |
|
|
|
|
KOMENTARZE
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|
©Pavel Kysilka - 2003-2024 |
maillinuxsoft.cz | Design:
www.megadesign.cz
|