Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kasowanie wierszy MySql - zrozumieć relacje
mys
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 1.10.2005

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


Witam

Stworzyłem bazę składającą się z dwóch tabeli:

mysql> select * from fv;
+----+-----------+
| id | nr_dok |
+----+-----------+
| 1 | fv/1/2005 |
| 2 | fv/2/2005 |
+----+-----------+
2 rows in set (0.04 sec)

mysql> select * from rzecz;
+----+-----------+---------+
| id | nazwa | faktura |
+----+-----------+---------+
| 1 | antena | 1 |
| 2 | kabel | 1 |
| 3 | zlaczka N | 2 |
| 4 | antena | 2 |
+----+-----------+---------+
4 rows in set (0.04 sec)

Istnieje relacja 1-wielu, między nr_dok, a nazwa w tabeli rzecz. Np. fv/2/2005 jest powiązana z 'zlaczka N' i 'antena' w tabeli rzecz co wskazuje '2' z kolumny 'faktura'. 'id' w obydwu tabelach są kluczami głównymi, kolumna 'faktura' kluczem obcym.

Czy dobrze zaprojektowałem tą prostą bazę jeśli występuje relacja jak wyżej opisałem?

Chcę skasować 'fv/2/2005' i w konsekwencji powiązane z nimi wiersze 3 i 4 z tabeli rzecz. W jaki sposób to osiągnąć nie stosując wartości klucza? Np. DELETE RFOM rzecz WHERE faktura = 2; nie chcę użyć, bo skąd będę wiedział, że to akurat numer 2, a nie inny.

Staram się zrozumieć zastosowanie kluczy i relacji, ale chyba nie bardzo mi się to udaje. Stoje na początku drogi zwanej SQL. Z góry dziękuje za wszelkie wyjaśnienia.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Pozostaje Ci:
  1. <?php
  2.  
  3. $intItemId = 12;
  4.  
  5. mysql_query( 'DELETE FROM fv WHERE id = ' . $intItemId );
  6.  
  7. if( mysql_affected_rows() > 0 )
  8. {
  9.  mysql_query( 'DELETE FROM rzecz WHERE faktura = ' . $intItemId );
  10. }
  11.  
  12. ?>


Nic więcej nie poradzisz :/

Zainstaluj sobie MySQL'a 4.1 i bedziesz miał wszystko czego Ci trzeba na obecnym etapie.
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 - 03:29