![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 31.05.2003 Skąd: dolny śląsk Ostrzeżenie: (0%) ![]() ![]() |
:?:
Witam! Mam problem ze zrozumieniem pola DEFAULT. Jak widać poniżej w tabeli user w polach status i lastlogin ustawiam wartość domyślną na 1 i 2. Kiedy wstawiam dane do poszczególnych pól w polach status i lastlogin nie wstawiam nic i wydawało mi się,że powinny pojawić się tam wartości 1 i 2, a tak się nie dzieje, jak widać poniżej. Pojawiają się tylko zera. Dlaczego tak się dzieje??? Oto linijka za pomocą której wprowadzam dane: INSERT INTO user VALUES (0,'admin',password('xyz'),'',2,''); mysql> desc user; +-----------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+------------------+------+-----+---------+----------------+ | id | int(11) unsigned | | PRI | NULL | auto_increment | | login | varchar(40) | | | | | | passwd | varchar(40) | | | | | | status | int(11) unsigned | | | 1 | | | auth | int(11) unsigned | | | 1 | | | lastlogin | int(11) unsigned | | | 2 | | +-----------+------------------+------+-----+---------+----------------+ 6 rows in set (0.07 sec) mysql> select * from user; +----+--------+------------------+--------+------+-----------+ | id | login | passwd | status | auth | lastlogin | +----+--------+------------------+--------+------+-----------+ | 1 | admin | 43e9a4ab75570f5b | 0 | 2 | 0 | | 2 | admin2 | 2a4cbe2d729af488 | 0 | 122 | 0 | | 3 | jkowal | 606706156665cd86 | 0 | 1 | 0 | +----+--------+------------------+--------+------+-----------+ 3 rows in set (0.02 sec) -------------------- PrzemasJG
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 31.03.2002 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Dzieje się tak dlatego, że poprzez wartość pustą (dwa apostrofy) wstawiasz dane do danych komórek, więc określasz explicite konkretną wartość (w tym przypadku jest ona konwertowana do typu int). Jeśli nie chcesz wstawiać tam żadnej wartości, to wykonaj takie polecenie:
Kod INSERT INTO W powyższym poleceniu określasz, do których kolumn wstawiasz dane. Do pozostałych zostaną wstawione wartości domyślne.
user (login, passwd, auth) VALUES ('admin',password('xyz'),2) RTFM: INSERT Syntax -------------------- misiu | chór
"Zdeterminowany programista potrafi stworzyć fatalny kod w każdym języku" Allen Holub |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 31.05.2003 Skąd: dolny śląsk Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za podpowiedz. Teraz jest jak należy :-)
Przemek -------------------- PrzemasJG
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 20:58 |