MySQL polecenie SQL
LprzemekL - 25-07-2007 00:02
MySQL polecenie SQL
Witam Przypomnijcie mi, gdyz zapomnialem jak to jest ze zwiekszaniem wartosci dla kluczy obcych. Rozbudowalem baze o kolejne tabelki, ktore powiazane sa kluczami obcymi. W jednej tabelce znajduja sie dwa klucze obce, ktore nie chca sie autoincrementowac (w bazie MySQL autoincrementowac mozna tylko jeden atrybut, ktorym zazwyczaj jest klucz glowny). Jak sie sprawa autoincrementowania ma do kluczy obcych ? Jezeli w formularzu pomine pola z kluczami obcymi nie wstawiajac zadnych wartosci to wyswietla sie blad. Z kluczem glownym jest wporzadku, autoincrementuje sie.
-- Pozdrawiam
A.L.E.C - 25-07-2007 00:02
LprzemekL wrote: > Witam > Przypomnijcie mi, gdyz zapomnialem jak to jest ze zwiekszaniem > wartosci dla kluczy obcych. Rozbudowalem baze o kolejne tabelki, ktore > powiazane sa kluczami obcymi. W jednej tabelce znajduja sie dwa klucze > obce, ktore nie chca sie > autoincrementowac (w bazie MySQL autoincrementowac mozna tylko jeden > atrybut, ktorym zazwyczaj jest klucz glowny). > Jak sie sprawa autoincrementowania ma do kluczy obcych ? Jezeli w > formularzu pomine pola z kluczami obcymi nie wstawiajac zadnych > wartosci to wyswietla sie blad. Z kluczem glownym jest wporzadku, > autoincrementuje sie.
klucze obce to wartości z innych tabel, pokaż strukturę, bo nie rozumiem o co ci chodzi
-- Aleksander 'A.L.E.C' Machniak http://alec.pl gg:2275252 LAN Management System Developer http://lms.alec.pl
LprzemekL - 26-07-2007 00:02
On 24 Lip, 21:19, "A.L.E.C" <al...@poczta.onet.pl> wrote:
> klucze obce to warto ci z innych tabel, poka struktur , bo nie rozumiem > o co ci chodzi
Witam Ok, a wiec tabelka z kluczami obcymi:
mysql> describe pasazer; idPasazera - bigint(20) unsigned - Not Null - Primary Key - auto_increment Realizator_idRealizatora - bigint(20) unsigned - Not Null - Foreign Key (klucz obcy) Rezerwacja_idRezerwacji - bigint(20) unsigned - Not Null - Foreign Key (klucz obcy) imiePasazera - varchar(20) - Not Null nazwiskoPasazera - varchar(20) - Not Null adresPasazera - varchar(255) - Not Null
Tabelki Realizator oraz Rezerwacja sa wypelnione danymi a tabelka Pasazer nie.
Wypelnianie danymi, tabelka Pasazer:
INSERT INTO pasazer (imiePasazera, nazwiskoPasazera, adresPasazera) VALUES ('Imie', 'Nazwisko', 'Adres');
Pojawia sie komunikat o braku wypelnienia tych kluczy obcych danymi ("Field 'Realizator_idRealizatora' doesn't have a default value"). Ja chcialbym aby w moim formularzu uzytkownik nie podalwal zadnych ID kluczy obcych. W tabelkach Realizator oraz Rezerwacja (nie ma kluczy obcych) zastosowalem autoincrementacje dla kluczy glownych i dzieki temu uzytkownik nie podaje wartosci ID w formularzu. Dla tabelki Pasazer tez tak chcialbym zrobic.
-- Pozdrawiam
=?ISO-8859-2?Q?Marcin_Wr=F3blewski?= - 26-07-2007 00:02
LprzemekL <zubertowicz@tenbit.pl> napisał(a):
> On 24 Lip, 21:19, "A.L.E.C" <al...@poczta.onet.pl> wrote: > > > klucze obce to warto ci z innych tabel, poka struktur , bo nie rozumiem > > o co ci chodzi > > Witam > Ok, a wiec tabelka z kluczami obcymi: > > mysql> describe pasazer; > idPasazera - bigint(20) unsigned - Not Null - Primary Key - > auto_increment > Realizator_idRealizatora - bigint(20) unsigned - Not Null - Foreign > Key (klucz obcy) > Rezerwacja_idRezerwacji - bigint(20) unsigned - Not Null - Foreign Key > (klucz obcy) > imiePasazera - varchar(20) - Not Null > nazwiskoPasazera - varchar(20) - Not Null > adresPasazera - varchar(255) - Not Null > > Tabelki Realizator oraz Rezerwacja sa wypelnione danymi a tabelka > Pasazer nie. > > Wypelnianie danymi, tabelka Pasazer: > > INSERT INTO pasazer (imiePasazera, nazwiskoPasazera, adresPasazera) > VALUES ('Imie', 'Nazwisko', 'Adres'); > > Pojawia sie komunikat o braku wypelnienia tych kluczy obcych danymi > ("Field 'Realizator_idRealizatora' doesn't have a default value"). Ja > chcialbym aby w moim formularzu uzytkownik nie podalwal zadnych ID > kluczy obcych. W tabelkach Realizator oraz Rezerwacja (nie ma kluczy > obcych) zastosowalem autoincrementacje dla kluczy glownych i dzieki > temu uzytkownik nie podaje wartosci ID w formularzu. Dla tabelki > Pasazer tez tak chcialbym zrobic. > > -- > Pozdrawiam >
No ale przecież ty nie chcesz tam wstawiać byle jakiej wartości, tylko KLUCZ OBCY - musisz wiedzieć, co (jaką rezerwację, jakiego realizatora) chcesz przypisać do danego pasażera. Powinieneś mieć na formularzu jakiś komponent do wyboru rezerwacji i realizatora (combo box, albo co) - nie musisz użytkownikowi pokazywać kluczy głównych tamtych tabel, ale musisz je pobrać, żeby mieć jak powiązać dane.
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
LprzemekL - 26-07-2007 00:02
On 25 Lip, 08:21, "Marcin Wróblewski" <m_wroblewski.SKA...@gazeta.pl> wrote:
> No ale przecie ty nie chcesz tam wstawia byle jakiej warto ci, tylko KLUCZ > OBCY - musisz wiedzie , co (jak rezerwacj , jakiego realizatora) chcesz > przypisa do danego pasa era. Powiniene mie na formularzu jaki komponent > do wyboru rezerwacji i realizatora (combo box, albo co) - nie musisz > u ytkownikowi pokazywa kluczy g ównych tamtych tabel, ale musisz je pobra , > eby mie jak powi za dane.
Witam Dzieki Marcin za podpowiedz o to mi chodzilo :-)
-- Pozdrawiam
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
MySQL - jak =?ISO-8859-2?Q?wyeksportowa=E6_zawarto=B6=E6_wie?==?ISO-8859-2?Q?lkiej_tabeli?=
zanotowane.pldoc.pisz.plpdf.pisz.plptsite.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|