Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> o co chodzi z atrybutem DEFAULT
PrzemasJG
post
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
Go to the top of the page
+Quote Post
msulik
post
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

  user (login, passwd, auth)

VALUES

  ('admin',password('xyz'),2)
W powyższym poleceniu określasz, do których kolumn wstawiasz dane. Do pozostałych zostaną wstawione wartości domyślne.

RTFM: INSERT Syntax


--------------------
misiu | chór

"Zdeterminowany programista potrafi stworzyć fatalny kod w każdym języku"
Allen Holub
Go to the top of the page
+Quote Post
PrzemasJG
post
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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 20:58