Gå til innhold

[LØS]SQL INCREMENTING, eller incrementation by 1..


Anbefalte innlegg

Heisann ,

 

Relativt ny på SQL og php .

 

Lager en tabell som heter KundeInfo, med tre atributter som er KundeId(primary key), kundenavn, og kundepassord.

 

Denne sql tabellen er koblet til databasen gjennom PHP, når jeg skal registrere en ny bruker så må jeg gjøre så mye som kundeID+1....

 

har prøvd å lage kundetabellen på nytt syntaksen under, men det fungerte uheldigvis ikke...

 

Hvis jeg får til dette så vet jeg at jeg kommer til å slite med php koden også,

fordi der har jeg koden (skjult) ... jeg legger inn bar 4343 for å få det til å fungere EN gang, men må tydeligvis gjøre noe annet hvis jeg får tabellatributtene i orden.

 

mvh

 

U.T

 

$query= "insert into kundeinfo(kundeid, kundenavn, kundepassord values(4343, '$navn', '$kundepassord)".

 

CREATE TABLE kundeinfo(
KundeID  INT  NOT NULL auto_increment,
Kundenavn	CHAR(20)	NOT NULL,

Kundepassord	CHAR(15)	NOT NULL
);

Endret av ummairt
Lenke til kommentar
Videoannonse
Annonse
$query= "INSERT INTO kundeinfo(kundeid, kundenavn, kundepassord) VALUES ('4343', '$navn', '$kundepassord)";

 

Mulig denne fungerer bedre. Det var en parentes som ikke var lukket bl.a. ;)

8433943[/snapback]

 

 

Beklager, min feil.!!

 

Men det løser ikke problemet. Det er ikke akkurat 4343 jeg ønsker å putte inn i tabellen som KundeID. Jeg ønsker å oppdatere hver neste forekomst etter feks.4343 med ett mer dvs 4343+1.....

 

Mvh

 

 

U.T :ph34r:

Endret av ummairt
Lenke til kommentar

$query= "INSERT INTO kundeinfo(kundenavn, kundepassord) VALUES ('$navn', '$kundepassord)";

For hver rad du setter inn nå vil kundeid bli ett hakk høyere.

 

ps: bruk varchar istedenfor char i tabellen din. Om du bruker char(20) vil alltid 20 bytes bli brukt i det feltet, istedenfor 13 som kanskje er hvor mange tegn som faktisk feltet inneholder ;)

Lenke til kommentar

Hvilken SQL bruker du for å opprette tabellen da?

 

EDIT: Stod i førsteposten det ja :blush:

 

EDIT2:

Prøv denne:

CREATE TABLE `kundeinfo` (
`id` INT( 4 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`kundenavn` VARCHAR( 100 ) NOT NULL ,
`passord` VARCHAR( 50 ) NOT NULL
);

Endret av Loomy
Lenke til kommentar
Hvilken SQL bruker du for å opprette tabellen da?

 

EDIT: Stod i førsteposten det ja :blush:

 

EDIT2:

Prøv denne:

CREATE TABLE `kundeinfo` (
`id` INT( 4 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`kundenavn` VARCHAR( 100 ) NOT NULL ,
`passord` VARCHAR( 50 ) NOT NULL
);

8438321[/snapback]

 

Fikk løst dette problemet ved å lage en sekvens, og ifra legge inn sekvens.nexval inn i kundeID :)

 

Nå har jeg et nytt problem, kundeid blir oppdatert greit, men om kundenavnet eksisterer fra før så skal det genereres en feilmelding (VIA PHP)... Har en liten ide om at det skal løpes igjennom tabellen som heter kundenavn... Men finner ikke helt syntaksene som skal brukes ...

 

Klikk for å se/fjerne innholdet nedenfor
$query1="select * from kundenavn";

$stmt = baseQuery($conn, $query1);

 

//hva skal jeg gjøre etter dette :hmm:

Lenke til kommentar
Nå har jeg et nytt problem, kundeid blir oppdatert greit, men om kundenavnet eksisterer fra før så skal det genereres en feilmelding (VIA PHP)... Har en liten ide om at det skal løpes igjennom tabellen som heter kundenavn... Men finner ikke helt syntaksene som skal brukes ...

 

8438543[/snapback]

 

Alle slike "constraints" bør du prøve å legge inn i databasen, da slipper du mye ekstraarbeid.

Du har ikke vurdert å bruke kundenavnet (brukernavnet) som primærnøkkel, da oppnår du det du ønsker (at alle kundenavnene skal være unike). Du kan i tillegg lagre kundeid, men ikke bruke det som primærnøkkel (definer kundeid som UNIQUE).

Endret av ofredstie
Lenke til kommentar
  • 2 uker senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...