Autor | Zpráva | ||
---|---|---|---|
MilanJ Profil |
#1 · Zasláno: 3. 3. 2006, 09:41:46
Nevím, jestli můj dotaz patří sem nebo do databází, ale snad mi někdo poradí.
Musím vyřešit problém s generování jedinečného ID, které by mělo obsahovat datum a číslo v pořadí. Konkrétně: Mám v MySQL tabulku, která obsahuje pole ID_aukce typu VARCHAR, do kterého se ukládá pořadové číslo. To generuje PHP script, a to tak že vloží pořadové čísloaktuální rok , např. první položka má číslo 1/2006, druhá 2/2006, atd. Problém ale je, že pole DB je typu varchar a tak sql dotaz nepozná, že je např. rok 2007 a že první položka roku 2007 začíná zase 1/2007. Asi jsem to nenapsal moc srozumitelně.:-/ Prostě potřebuju, aby se do db ukládaly ID_aukce ve formátu pořadové číslo + aktuální rok, a od nového roku na novo. Můj kód není vyhovující, nevím co a jak změnit...nic mě nenapadá. :-/ $sql = "SELECT MAX(id_aukce) AS id_aukce FROM aukce"; $vysledek_sql = mysql_query($sql); $radek = mysql_fetch_array($vysledek_sql); $id_aukce = $radek['id_aukce'] + 1; // výsledek dotazu načteme do $id_aukce a přičteme 1 $id_aukce = $id_aukce."/".date(Y); ...pak se provede INSERT do db |
||
samurajj Profil |
#2 · Zasláno: 3. 3. 2006, 10:01:17 · Upravil/a: samurajj
Problém ale je, že pole DB je typu varchar a tak sql dotaz nepozná, že je např. rok 2007 a že první položka roku 2007 začíná zase 1/2007.
a neslo by v te tabulce udelat index pro dva sloupce? primary key(ID_aukce,rok) kdybys pak vybiral aukce z jednoho roku, jednoduse bys napsat where rok=2006 order by id_aukce a pri vkladani polozky bys jen zjistil mas id_aukce pro ten rok +1 |
||
MilanJ Profil |
#3 · Zasláno: 3. 3. 2006, 10:02:17
Jde nastavit PRIMARY KEY pro 2 pole???
|
||
MilanJ Profil |
#4 · Zasláno: 3. 3. 2006, 10:05:59
Jak se potom budu ale odkazovat na pole v SQL dotazu?
Když teď použiju v SQL např.:SELECT * FROM aukce, prubeh_aukce WHERE aukce.id_aukce = prubeh_aukce.id_aukce, jak se budu dotazovat až budu mít 2x PRIMARY KEY (ID_aukce, rok) ??? |
||
samurajj Profil |
#5 · Zasláno: 3. 3. 2006, 10:09:19
mno budes muset mit 2 podminky pro spojeni tech tabulek,
where aukce.id_aukce = prubeh_aukce.id_aukce AND aukce.rok = prubeh_aukce.rok |
||
MilanJ Profil |
#6 · Zasláno: 3. 3. 2006, 10:26:25
A pokud bych trval na jednom poli s jedinečným ID? Je to řešitelný?
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0