Forum » Izdelava spletišč » mySQL(+php) auto_increment field v tabeli.. Kako...?
mySQL(+php) auto_increment field v tabeli.. Kako...?
matic ::
Imam tabelo
CREATE TABLE `er_novice` (
`novica_id` mediumint(8) unsigned NOT NULL auto_increment,
`avtor` varchar(25) NOT NULL default '', `novica_text` text NOT NULL,
`datum` int(11) NOT NULL default '0',
PRIMARY KEY (`novica_id`))
TYPE=MyISAM";
V njej se nahaja
`novica_id` mediumint(8) unsigned NOT NULL auto_increment,
Potem ko insertam posamezne vrstice (novice) v tabelo, kako avtomatsko inkrementiram novica_id? Ali moram obvezno poiskat trenutno najvecjo cifro in jo potem povecat za 1 in jo shranit, ali je kak funcija, ki mi to z sama nardi???
Hvala!
CREATE TABLE `er_novice` (
`novica_id` mediumint(8) unsigned NOT NULL auto_increment,
`avtor` varchar(25) NOT NULL default '', `novica_text` text NOT NULL,
`datum` int(11) NOT NULL default '0',
PRIMARY KEY (`novica_id`))
TYPE=MyISAM";
V njej se nahaja
`novica_id` mediumint(8) unsigned NOT NULL auto_increment,
Potem ko insertam posamezne vrstice (novice) v tabelo, kako avtomatsko inkrementiram novica_id? Ali moram obvezno poiskat trenutno najvecjo cifro in jo potem povecat za 1 in jo shranit, ali je kak funcija, ki mi to z sama nardi???
Hvala!
- spremenilo: matic ()
<?php?> ::
Probaj ... ;)
INSERT INTO er_novice VALUES( NULL, 'jaz', '2002-10-12' );
To bi bil primer SQL stavka ... kot vidiš daš za polje novica_id NULL, ker pomeni da ni vrednosti ... logično, ker jo doda samo :D
INSERT INTO er_novice VALUES( NULL, 'jaz', '2002-10-12' );
To bi bil primer SQL stavka ... kot vidiš daš za polje novica_id NULL, ker pomeni da ni vrednosti ... logično, ker jo doda samo :D
Tr0n ::
Povecalo ti bo avtomatsko, ker imas auto increment :). S tem da pri INSERTu ne rabis napisat prvega argumenta novice, ampak ga enostavno izpustis.
matic ::
hvala!
Zdej pa se eno vprasanje.. kako pa na najbolj preprost nacin izvem, katera je zadnja stevilka?
Zdej pa se eno vprasanje.. kako pa na najbolj preprost nacin izvem, katera je zadnja stevilka?
rc-car ::
SELECT novica_id FROM er_novice ORDER BY novica_id DESC LIMIT 1;
this should do the trick
this should do the trick
Nothings gonna stop me now, I'm breaking the rules, I'm gonna do it if its not allowed
Tr0n ::
Najbolje z ukazom MAX, ki je za to namenjen. Poglej v MySQL dokumentacijo. Tam imas se vse ostale opisane.
SELECT MAX(novica_id) FROM ....
SELECT MAX(novica_id) FROM ....
Zzzzzzz ::
Obstaja funkcija, ki ti v istem koraku vrne zadnji ID (da ni treba dvakrat sql stavka izvajat), in sicer:
mysql_insert_id()
Na pamet ne vem točno, kako jo uporabljat, ampak, sej piše v manualu.
mysql_insert_id()
Na pamet ne vem točno, kako jo uporabljat, ampak, sej piše v manualu.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | PHP pridobivanje podatkov iz dveh tabel po tujem ključuOddelek: Izdelava spletišč | 1177 (945) | SkIDiver |
» | Malce zahtevnejši SQL stavek včasih narobe SELECT-aOddelek: Izdelava spletišč | 2155 (1824) | Brilko |
» | portal ostal, baza slaOddelek: Izdelava spletišč | 1837 (1722) | bombacina |
» | SQL problemOddelek: Programiranje | 1535 (1372) | Bossek |
» | Kaj je narobe tu...(php)Oddelek: Programiranje | 1201 (1099) | teac |