LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: Poradna zajištění stejného id v MYSQL

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
zajištění stejného id v MYSQL 22.12.2006 22:46 V O
  L Re: zajištění stejného id v MYSQL 23.12.2006 19:15 Srigi
    |- Re: zajištění stejného id v MYSQL 23.12.2006 19:18 Srigi
    L Re: zajištění stejného id v MYSQL 24.12.2006 07:06 MaReK Olšavský
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4791x
2. FreeBSD
Download: 8984x
3. PCLinuxOS-2010
Download: 8488x
4. alcolix
Download: 10805x
5. Onebase Linux
Download: 9568x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6143x

1. xinetd
Download: 2331x
2. RDGS
Download: 937x
3. spkg
Download: 4549x
4. LinPacker
Download: 9802x
5. VFU File Manager
Download: 3116x
6. LeftHand Mała Księgowość
Download: 7002x
7. MISU pyFotoResize
Download: 2700x
8. Lefthand CRM
Download: 3486x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3002x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz