Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Mysql] Zastępowanie danych w tabeli.
Wismat
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 29.07.2008

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


Witam. Uczę się języka MySQL i obsługiwania baz danych.

W phpMyAdmin ustawiłem opcję, że dane w kolumnie Nazwisko i Imię nie mogą się powtarzać. Chciałbym jednak, aby gdy ktoś będzie chciał znowu zapisać je to wtedy dany wiersz się nadpisze.

Np. Najpierw ktoś wpisze

"Nowak, Jan, Gdańsk, Lechia Gdańsk"

a potem zmieni miejsce zamieszkania na Warszawę i będzie chciał zmienic w bazie danych te info to wyśle jeszcze raz polecenie zapisania

"Nowak, Jan, Warszawa, Lechia Gdańsk"

I wtedy zaktualizuje się poprzedni wiersz, a nie doda się nowy smile.gif


Mam nadzieję, ze wiecie o co mi chodzi smile.gif A teraz pytanie jak nazywa się ta opcja lub jak to zrobic?

Pozdrawiam.

Ten post edytował Wismat 13.09.2009, 21:47:00
Go to the top of the page
+Quote Post
bogdan89
post
Post #2





Grupa: Zarejestrowani
Postów: 320
Pomógł: 36
Dołączył: 28.08.2006
Skąd: Wrocław

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


Kod
REPLACE INTO ...

questionmark.gif
http://dev.mysql.com/doc/refman/5.1/en/replace.html

a tak swoją drogą co zrobisz jak pojawią się różne osoby o tym samym imieniu i nazwisku? Takich przypadków jest pełno!
Go to the top of the page
+Quote Post
Wismat
post
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 29.07.2008

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


Dzięki za pomoc.
Cytat(bogdan89 @ 13.09.2009, 22:56:50 ) *
a tak swoją drogą co zrobisz jak pojawią się różne osoby o tym samym imieniu i nazwisku? Takich przypadków jest pełno!

Jak na razie dopiero się uczę i testuję różne sposoby, więc nie ma obawy że będą dwie takie same osoby ;-) . W przyszłości, gdy będę robił coś na poważnie to zamiast tego samego nazwiska będzie np. nick. Ale dzięki za zwrócenie uwagi na ten ważny problem smile.gif

Pozdrawiam,
Mateusz
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
W przyszłości, gdy będę robił coś na poważnie to zamiast tego samego nazwiska będzie np. nick. Ale dzięki za zwrócenie uwagi na ten ważny problem

A wiesz, po co stosuje się ID? (jako primary key)


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Wismat
post
Post #5





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 29.07.2008

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


Tak wiem. Czyli uważasz, że zamiast nick powinienem sprawdzać ID, tak?
Go to the top of the page
+Quote Post
vokiel
post
Post #6





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Możesz stosować nick z racji tego, że powinien być unikalny. Czyli jednoznacznie identyfikujący. Imię ani nazwisko takie nie jest, nawet złączenie imię + nazwisko.

Id jako primary key, tak jak napisał Ci erix jest bardzo dobrym rozwiązaniem. Zwykle na użytkownikach przeprowadza się szereg operacji (wyszukiwanie, edycja, wybieranie np wiadomości użytkownika, etc), wtedy łatwiej jest operować liczbami niż nickami (szybsze wyszukiwanie, łatwiejsza walidacja poprawności parametru (id wystarczy sprowadzić do liczby całkowitej))


--------------------
Go to the top of the page
+Quote Post
erix
post
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Czyli uważasz, że zamiast nick powinienem sprawdzać ID, tak?

  1. krócej
  2. indeksy w bazie działają najwydajniej na liczbach
  3. możesz mieć kilku ludzi o tym samym loginie (wiem, abstrakcja biggrin.gif)
  4. zmiana nicka nie spowoduje bałaganu w bazie - ID jest "dozgonny"


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Wismat
post
Post #8





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 29.07.2008

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


Dzięki za rady. Na pewno mi się przydadzą biggrin.gif
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: 19.08.2025 - 20:20