Autor | Zpráva | ||
---|---|---|---|
koudi Profil |
#1 · Zasláno: 9. 4. 2006, 17:01:44
Dá se nějak při INSERTu vložit přímo číslo, který bude mit na daném řádku sloupec Id, který má nastaveno auto_increment?
Třeba něco jako INSERT INTO tabulka (text) VALUES ('NEWID'.'mujtext')? Nebo to prostě musim vložit normálně přes mysql_insert_id zjisit jaký id to bylo a pak to dalším dotazem upravit? |
||
Kajman_ Profil * |
#2 · Zasláno: 10. 4. 2006, 21:45:22
Kdysi jsem tuším používal u něčeho sloupecek.nextval, ale netuším, jestli se to dá použít víckrát. No, ale nevím, jestli to řeší Váš problém, protože jsem ho z toho popisu zrovna moc nepobral.
|
||
Leo Profil |
#3 · Zasláno: 10. 4. 2006, 21:53:13
Autoincrement je AUTO - tzn. hodnotu nevkladate, vklada se sama vzdy o jednicku vetsi. Leo
|
||
taurendilek Profil * |
#4 · Zasláno: 11. 4. 2006, 16:01:55
jasne hodnotu nevkladate atd.ale proc se vlastne vklada id?vzdycky se stejne odkazujes na name ne?teda pls vysvetli
|
||
juneau Profil |
#5 · Zasláno: 11. 4. 2006, 19:07:15
Id se nemusi vkladat, ale kazdy radek musi byt JEDINECNE IDENTIFIKOVAN ... v tabulce nesmi byt dva radky se stejnymi hodnotami. Rostouci cislo je odlisi spolehlive.
Treba ukladam do databaze texty... tabulka "texty" > ID, Nadpis, Datum, Text. ... A odkazy pak tvori treba text.php?id=52 ... a vyberu radek s ID = 52. (to uz zalezi na implementaci ve scriptu). Tady ma sloupec Id smysl. Doporucuju si najit nejake clanky o primarnich klicich (onen sloupec id) a podobne. |
||
Hugo Profil |
#6 · Zasláno: 11. 4. 2006, 19:18:12
Navíc vyhledávání čísel je rychlejší než prohledávání řetězců (které jsou IMHO pro primární klíč dost nevhodné).
|
||
taurendilek Profil * |
#7 · Zasláno: 11. 4. 2006, 19:18:43
Ok docela logicke.dik
|
||
koudi Profil |
#8 · Zasláno: 11. 4. 2006, 19:24:30
>proc se vlastne vklada id?vzdycky se stejne odkazujes na name ne?teda pls vysvetli
jako jednoznačný identifikátor nepoužívám name, ale Id, je to jistější - viz juneau. >Autoincrement je AUTO - tzn. hodnotu nevkladate, vklada se sama vzdy o jednicku vetsi. Leo Já vím :). Šlo mi o to, jestli tu hodnotu, kterou mi dá autoincrement mohu zároveň vložit ještě do dalšího sloupce. Takže konkrétně k čemu to chci: Dělám upload dokumentů - info o nich sou v db. Chci jednak aby se název souboru upravil tak, aby tam nebyly mezery, diakritika apod. - to už mam ošetřený. Taky ale chci, aby se mi k názvu na začátek přidalo id co má ten soubor v tabulce - kdyby tam nějakej blbec nahrál sobor s názvem, co už tam je. Zajímalo mě, jestli to jde nějak rovnou v jednom sql dotazu. Zatim to řešim takhle -upload -vložit do db -mysql_insert_id() -> nový název -move_upload_file() -UPDATE v sql |
||
Hugo Profil |
#9 · Zasláno: 11. 4. 2006, 19:26:30
Toto řeším tak, že když najdu dva shodné soubory, tak k názvu souboru přilepím hash, který je generovaný např. pomocí aktuálního času.
|
||
koudi Profil |
#10 · Zasláno: 11. 4. 2006, 19:36:23
Hugo
Jo, to je taky docela dobrej způsob. Nicméně pro uživatele co si to pak stáhne to bude takový divný. Leda bych to pak nelinkoval přímo, ale přes nějakej další skript, kterej by tomu dal přijatelnější název. Ale do toho se mi moc nechce. |
||
Hugo Profil |
#11 · Zasláno: 11. 4. 2006, 19:39:21
Ja jsem se s žádnou stížností od uživatelů nesetkal. A to občas spolupracuji s pěknýma lamama.
P.S.: Univerzální reakce je: To se tam někde přibalí po cestě. |
||
Leo Profil |
#12 · Zasláno: 11. 4. 2006, 20:05:09
"Šlo mi o to, jestli tu hodnotu, kterou mi dá autoincrement mohu zároveň vložit ještě do dalšího sloupce. "
A co vas vede k tomu mit v databazi ve dvou sloupcich identicka data? Leo |
||
koudi Profil |
#13 · Zasláno: 11. 4. 2006, 20:08:36
Leo
Nejde o přesně identická data. Jde o to, že id by bylo třeba 5 a FileName by bylo 5-sablona-noveho-dokumenta.doc (třeba). Jak jsem psal výše - kvůli jednoznačnější identifikaci souborů na disku. |
||
medden Profil * |
#14 · Zasláno: 12. 4. 2006, 06:07:46
Tak keď budeš chcieť čítať ten súbor alebo čo s ním, tak si z databáze zoberieš stĺpec id aj filename a potom v aplikacii sa to id dá pred samotný súbor, teda niečo ako: dirname($path).'/'.$id.'-'.basename($path)
Aj keď uznávam, že to vyzerá trochu menej elegantne ako to, čo chceš spraviť ty ;-) |
||
Časová prodleva: 1 rok
|
|||
sinu Profil * |
#15 · Zasláno: 25. 5. 2007, 11:35:46
jde nejak udelat aby auto_increment pridal cislo o jedna vetší a zároven treba nejaky statický text? jako treba 5zaznam, 6zaznam ...
|
||
Hugo Profil |
#16 · Zasláno: 25. 5. 2007, 12:10:55
sinu
IMHO ne |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0