17. januar 2013 - 16:45
Der er
8 kommentarer og 1 løsning
Default lig med 2 i databasen
Hej der, Kan man ikke få MySQL til at sætte en default værdi i et "felt", hvis den ikke er sat af brugeren ...? Hvis jeg f.eks. har en INT(11) der der skal indeholde tallet "2" pr. default, hvis DB'en ikke har modtaget anden værdi ... hilsen Martin
Annonceindlæg fra GlobalConnect
17. januar 2013 - 17:06
#1
CREATE TABLE noget ( ... felt INTEGER DEFAULT 2, ... );
17. januar 2013 - 17:25
#2
Default 2 bliver bare til 0
17. januar 2013 - 18:14
#3
Nå, det kan man nok ikke - har søgt som en gal, men finder intet der kan gøre det ... jeg må bare få PHP til at ændre 0 til 2 inden den smider i DB'en. Tak for forsøget arne_v
17. januar 2013 - 19:48
#4
create table testdefault ( id integer default 2, t varchar(255) ) (den bliver myisam) efterfulgt af insert into testdefault (t) values ('kaniner') hvor der ikke sættes en værdi for id, giver rækken 2 kaniner Så ... det virker da
17. januar 2013 - 20:55
#5
Men det lyder jo som om du giver feltet værdien 0, når du smider i tabellen, fra php. Så overskriver den jo default værdien.
18. januar 2013 - 02:40
#6
mysql> CREATE TABLE noget ( -> id INTEGER NOT NULL, -> felt INTEGER DEFAULT 2, -> PRIMARY KEY (id) -> ); Query OK, 0 rows affected (0.00 sec) mysql> mysql> INSERT INTO noget VALUES(1,77); Query OK, 1 row affected (0.01 sec) mysql> INSERT INTO noget VALUES(2,NULL); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO noget(id) VALUES(3); Query OK, 1 row affected (0.00 sec) mysql> mysql> SELECT * FROM noget; +----+------+ | id | felt | +----+------+ | 1 | 77 | | 2 | NULL | | 3 | 2 | +----+------+ 3 rows in set (0.00 sec)
18. januar 2013 - 19:45
#7
Ok ... tak! Læg svar for points ...
18. januar 2013 - 19:50
#8
Ingen point til mig, tak.
18. januar 2013 - 19:58
#9
svar
Computerworld tilbyder specialiserede kurser i database-management