Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]
Forum PHP.pl > Forum > PHP
b_chmura
Witam
w końcu zacząłem przygodę z MySQL i już mam jedno pytanie (pewnie to początek całej serii)
Jeśli chcę edytować rekord czy musem jest wcześniejsze wyciągnięcie i podanie danych do edycji?

dotychczas robie to tak:
mam bazę
Kod
+-------+-----------+
|   a   |     b     |
+-------+-----------+
| Józef | Psikuta   |
+-------+-----------+


edytuję tak:
  1. UPDATE `tabela` SET `b` = 'nowy_psikuta' WHERE `a` = 'Józef' AND `b` = 'Psikuta' LIMIT 1 ;


czyli muszę wyciągnąć poprzednie dane...

a nie można tego zrobić np tak:
do tabeli dodaję kolumnę ID
Kod
+-----+-------+-----------+
| ID  |   a   |     b     |
+-----+-------+-----------+
|  0  | Józef |  Psikuta  |
+-----+-------+-----------+


i teraz podając ID i nazwę kolumny edytować dany element?


możliwe ze możecie nie zrozumieć mojej idei...
phpion
No przecież własnie po to się tworzy identyfikatory oraz klucze główne :|
  1. UPDATE tabela SET b='nowy_psikuta' WHERE id=1 LIMIT 1;

Dodaj sobie więcej rekordów do tabeli i odpal zapytanie bez warunku i bez limitu:
  1. UPDATE tabela SET b='nowy_psikuta';

to się stanie jeśli nie zidentyfikujesz rekordu, który chcesz edytować.
Twój dotychczasowy sposób:
  1. UPDATE `tabela` SET `b` = 'nowy_psikuta' WHERE `a` = 'Józef' AND `b` = 'Psikuta' LIMIT 1 ;

jest o tyle niebezpieczny, że w przypadku występowania kilku Józefów Psikutów, zostanie zmodyfikowany pierwszy z brzegu (ograniczenie do 1 rekordu z powodu LIMITu).
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.