Autor | Zpráva | ||
---|---|---|---|
6xx Profil * |
#1 · Zasláno: 21. 9. 2006, 16:54:52
Mam tabulku v MySQL, ktera ma 2 sloupce:
1. sloupec je id_text, vytvoreny jako SMALLINT NOT NULL AUTO_INCREMENT 2. sloupec je text, typ je LONGTEXT, ale to neni podstatne. Z php5 potom vkladam do sloupce text nejaky text (kdo by to byl rekl ;-) ) a nechavan MySQL vygenerovat hodnotu id_text. Problemem je, ze potrebuju tu hodnotu v id_text pouzit ve skriptu (vklada se jeste do jine tabulky). Pouzivat select podle hodnoty sloupce text neni dobry napad, protoze obsah sloupce text muze (a bude) opravdu dlouhy a select ve velke databazi by trval prilis dlouho a byl narocny na system. Diky |
||
jonge Profil |
#2 · Zasláno: 21. 9. 2006, 17:01:21
mysql_insert_id() ???
|
||
6xx Profil * |
#3 · Zasláno: 21. 9. 2006, 17:09:37
Diky, bylo by to presne to, co potrebuji. Problem je ale v tom ze zbytek je psan pomoci MySQL funkci a prepisovat komplet redakcni system pomoci MySQL improved by bylo dost prace (i kdyz je vsechna prace s DB v jedne tride). Navic na tom serveru zrejme nebude k dispozici tohle rozsireni.
Jeste je tu moznost zvysovat to rucne o 1, to se mi zda ale ponekud prasacke. |
||
6xx Profil * |
#4 · Zasláno: 21. 9. 2006, 17:14:47
Dostal jsem napad: vytvorit takovy select, ktery by nasel nejvyssi cislo nachazejici se ve sloupci id_text protoze to musi byt to prave vytvorene. Pak se nebude muset ani prohledavat sloupec text, coz znacne ten select urychli.
Takze jdu studovat dokumentaci jak na to ;-) |
||
6xx Profil * |
#5 · Zasláno: 21. 9. 2006, 18:00:27
Tak nevim, nenapada nekoho nejaky lepsi zpusob nez:
|
||
tiso Profil |
#6 · Zasláno: 21. 9. 2006, 18:15:16
SELECT MAX(id_text) FROM tabulka
|
||
6xx Profil * |
#7 · Zasláno: 21. 9. 2006, 18:20:54
tiso: Diky moc, nejak jsem si toho v dokumentaci nevsiml. Prominte zbytecny dotaz.
|
||
Kajman_ Profil * |
#8 · Zasláno: 22. 9. 2006, 13:43:12
Je třeba použít mysql_insert_id(), protože nemůžete očekávat, že mezi vložením jednoho záznamu a tím selectem nebyl vložen další.
|
||
Časová prodleva: 3 dny
|
|||
6xx Profil * |
#9 · Zasláno: 25. 9. 2006, 16:50:19
Je třeba použít mysql_insert_id(), protože nemůžete očekávat, že mezi vložením jednoho záznamu a tím selectem nebyl vložen další.
To by se stat nemelo, kod vypada priblizne takto:
A nic jineho pristup k databazi mit nebude. Pruser by mohl nastat, kdyz by se rozhodlo nekolik autoru odeslat nejaky clanek ve stejnou chvili. |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0