Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Mysql] Zastępowanie danych w tabeli.
Forum PHP.pl > Forum > Bazy danych > MySQL
Wismat
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.
bogdan89
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!
Wismat
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
erix
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)
Wismat
Tak wiem. Czyli uważasz, że zamiast nick powinienem sprawdzać ID, tak?
vokiel
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))
erix
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"
Wismat
Dzięki za rady. Na pewno mi się przydadzą biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.