Avatar billede htx98i17 Professor
11. juli 2007 - 10:09 Der er 10 kommentarer og
1 løsning

undgå 0 som værdi

hvordan får man en INT til ikke automatisk indsætte 0 som værdi hvis værdien ikke er defineret?
Avatar billede barklund Nybegynder
11. juli 2007 - 10:22 #1
Ved at bruge DEFAULT:

CREATE TABLE ... (
foo INT DEFAULT 42,
...
)

--
Morten Barklund
Avatar billede htx98i17 Professor
11. juli 2007 - 10:30 #2
jo, men den skal være NULL hvis der ingen værdi er indtastet
Avatar billede barklund Nybegynder
11. juli 2007 - 10:40 #3
Hvis feltet tillader NULL, så vil NULL også være standard, med mindre du explicit har sat 0 til at være standard. Så det skyldes måske, at NULL ikke er tilladt for feltet?

Du kan rette det med:

ALTER TABLE t CHANGE COLUMN c c INT(11) NULL DEFAULT NULL;

Du skal skrive kolonnenavnet to gange - det er lidt spøjst, men det bruges også til at omdøbe med :)

--
Morten Barklund
Avatar billede htx98i17 Professor
11. juli 2007 - 10:46 #4
jeg bruger phpmyadmin og har forsøgt at tillade NULL og sætte værdi til NULL

eks
`mobilnummer` int(11) default NULL,

men alligevel indsætter den 0 som værdi
Avatar billede barklund Nybegynder
11. juli 2007 - 11:05 #5
Så tror jeg spørgsmålet er hvem "den" er. For MySQL vil indsætte NULL som default, hvis det er blevet sagt til den... Hvordan indsætter du hvorfra?
Avatar billede htx98i17 Professor
11. juli 2007 - 11:27 #6
okay det du sagde der hjalp...

det er når jeg indsætter vha PHP.. VALUES ('$_POST[var]'...)
Hvis $_POST[var] ikke er defineret vil den indsætte '' dvs ingenting. Et eller andet sted bliver det til et 0-tal?
Avatar billede barklund Nybegynder
11. juli 2007 - 11:51 #7
DEFAULT bruges kun, hvis du slet ikke angiver noget. Og at indsætte $_POST[var] direkte er ikke så pænt - hvad nu hvis jeg skriver 'abc' :)

Tjek din variabel, og hvis den er tom, så kalder du INSERT uden denne parameter, og ellers med.
Avatar billede htx98i17 Professor
11. juli 2007 - 11:54 #8
jep

takker

lig et svar
Avatar billede barklund Nybegynder
11. juli 2007 - 12:06 #9
Alright :)
Avatar billede htx98i17 Professor
11. juli 2007 - 12:11 #10
tak for deltagelsen
Avatar billede barklund Nybegynder
11. juli 2007 - 12:27 #11
Så lidt - og tak for points :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester