Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Auto_increment - jak zrobić aby automatycznie się zwiększało?
Setesh
post
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 2.10.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Witam.

Stworzyłem sobie tabelkę z użytkownikami i ustawiłem user_id na auto_increment ale muszę sam zadbać aby wartość była zwiększana (IMG:style_emoticons/default/sad.gif)

Wiecie jak zrobić aby samo się zwiększało i co ważniejsze - jak usunę rekord z userem to aby user_id które usunąłem było następnym razem wykorzystane?

kod :

  1. // tabelka user :
  2.  
  3. $query.="user_id MEDIUMINT NOT NULL AUTO_INCREMENT,";
  4. $query.="user_email VARCHAR(50) NOT NULL,";
  5. $query.="user_password CHAR BINARY NOT NULL,";
  6. $query.="user_name VARCHAR(30) NOT NULL,";
  7. $query.="user_country VARCHAR(50) NOT NULL,";
  8. $query.="user_profile TEXT NOT NULL,";
  9. $query.="user_registre_date TIMESTAMP(14) NOT NULL,";
  10. $query.="user_last_access_time TIMESTAMP(14),";
  11. $query.="PRIMARY KEY(user_id),";
  12. $query.="UNIQUE user_email(user_email, user_name)";
  13.  
  14.  
  15. // dopisanie usera - user_id jest wartością pobieraną na zasadzie ilości rekordów + 1
  16.  
  17. if($CanReg)
  18. {
  19. $res = mysql_query("SELECT * FROM user", $link_id);
  20. $num_rows = mysql_num_rows($res);
  21. $num_rows++;
  22. $Baza->InsertRecord('user', "'$num_rows', '$user_email', password('$user_pass'), '$user_name', '$user_country', '$user_profil', now(), curdate()");
  23. }


Możecie mi powiedzieć jak to zrobić aby nie sprawdzać user_id i nie wpisywać go tylko aby samo zostało nadane ?

przykład jak obecnie działa z usunięciem usera :

mamy 10 userów o id od 1 do 10 - usuwamy usera nr 8 - czyli następnym razem muszę dodać usera o id (ilosc_userów+1) - ale to wychodzi wtedy ze nowy user ma mieć nr 10 - a ostatni ma taki id już - lub usuwamy kilku userów ze środka tablicu (np o id 0d 4 do 7) - wtedy dodając usera znowu wywala błąd (IMG:style_emoticons/default/sad.gif)

Myślałem ze auto_increment samo zwiększa liczbę a tu ni - zrobiłem coś źle ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Setesh
post
Post #2





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 2.10.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Błąd dostaję : "Column count doesn't match value count at row 1"

Ok... patrząc na ten przykład rozumiem że przy wstawianiu do tabeli (tu animals) muszę podać miejsca w które chcę wstawić dane np : Insert into Tabela (pole1, pole2, pole4) przy czym pole 3 jest Auto... tak?
  1.  
  2. INSERT INTO animals (grp,name) VALUES
  3. ('mammal','dog'),('mammal','cat'),
  4. ('bird','penguin'),('fish','lax'),('mammal','whale'),
  5. ('bird','ostrich');
  6.  


Ten post edytował Setesh 25.01.2011, 19:13:48
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 4.10.2025 - 18:46