ďťż
 
=?iso-8859-2?Q?=5BMySQL=5D_i_MS_Acccess_insert_do_dw=F3ch_tab el?= ďťż
 
=?iso-8859-2?Q?=5BMySQL=5D_i_MS_Acccess_insert_do_dw=F3ch_tab el?=
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

=?iso-8859-2?Q?=5BMySQL=5D_i_MS_Acccess_insert_do_dw=F3ch_tab el?=



Jacek - 17-01-2006 10:54
=?iso-8859-2?Q?=5BMySQL=5D_i_MS_Acccess_insert_do_dw=F3ch_tab el?=
 
Mam dwie tabele tab1 i tab2. W tab1 są kolumy: id (primary key),
pesel a w
tabeli tab2: id, imie.
Utworzyłem zapytanie dodające nowy rekord do tabeli tab1 w
postaci:

INSERT INTO tab1 (id, pesel) VALUES ('1', '12345678');

i teraz w ms access to idzie czyli utworzoby jest nowy wiersz w
tab1 natomiast w MySql nie jest tworzony rekord, wipisuje mi błąd
o treści:

"Cannot add a child row: a foreign key constraint fails "

Może mi ktoś podpowiedzieć jak ma wyglądać zapyanie dodające taki
rekod do bazy mysql??

--
Pozdrowienia,
Jacek W.





Slawomir Cichy - 17-01-2006 10:54

  Jacek wrote:
> Mam dwie tabele tab1 i tab2. W tab1 są kolumy: id (primary key),
> pesel a w
> tabeli tab2: id, imie.
> Utworzyłem zapytanie dodające nowy rekord do tabeli tab1 w
> postaci:
>
> INSERT INTO tab1 (id, pesel) VALUES ('1', '12345678');
>
> i teraz w ms access to idzie czyli utworzoby jest nowy wiersz w
> tab1 natomiast w MySql nie jest tworzony rekord, wipisuje mi błąd
> o treści:
>
> "Cannot add a child row: a foreign key constraint fails "
>
> Może mi ktoś podpowiedzieć jak ma wyglądać zapyanie dodające taki
> rekod do bazy mysql??
>

Zapytanie jest jak najbardziej prawidlowe. Kwestia tego czy rozumiesz co
napisal do Ciebie serwer, a poinformowal cie, ze nie mozesz dodac nowego
rekordu, poniewaz masz zdefiniowany zwiazek integralnosci w postaci
klucza obcego do innej tabeli i serwer bazy nie znajduje w tabeli
nadrzednej wartosci, ktora probujesz wprowadzic do tabeli podrzednej.

Zobacz jaka masz zdefiniwana tablice nadrzedna, i dodaj do niej
odpowiedni rekord, a pozniej dodaj rekord do tablicy podrzednej.

pozdrawiam
Slawas




Slawomir Cichy - 17-01-2006 10:54

  Slawomir Cichy wrote:
> Jacek wrote:
>
>> Mam dwie tabele tab1 i tab2. W tab1 są kolumy: id (primary key),
>> pesel a w
>> tabeli tab2: id, imie.
>> Utworzyłem zapytanie dodające nowy rekord do tabeli tab1 w
>> postaci:
>>
>> INSERT INTO tab1 (id, pesel) VALUES ('1', '12345678');
>>
>> i teraz w ms access to idzie czyli utworzoby jest nowy wiersz w
>> tab1 natomiast w MySql nie jest tworzony rekord, wipisuje mi błąd
>> o treści:
>>
>> "Cannot add a child row: a foreign key constraint fails "
>>
>> Może mi ktoś podpowiedzieć jak ma wyglądać zapyanie dodające taki
>> rekod do bazy mysql??
>>
>
> Zapytanie jest jak najbardziej prawidlowe. Kwestia tego czy rozumiesz co
> napisal do Ciebie serwer, a poinformowal cie, ze nie mozesz dodac nowego
> rekordu, poniewaz masz zdefiniowany zwiazek integralnosci w postaci
> klucza obcego do innej tabeli i serwer bazy nie znajduje w tabeli
> nadrzednej wartosci, ktora probujesz wprowadzic do tabeli podrzednej.
>
> Zobacz jaka masz zdefiniwana tablice nadrzedna, i dodaj do niej
> odpowiedni rekord, a pozniej dodaj rekord do tablicy podrzednej.
>
> pozdrawiam
> Slawas

po prostu sprobuj wpierw dodac imie a pozniej dodawaj pesel (odwroc
kolejnosc operacji)




Jacek - 19-01-2006 09:32
=?iso-8859-2?Q?Re=3A_=5BMySQL=5D_i_MS_Acccess_insert_do_dw=F3 ch_tabel?=
  Witaj Slawomir,

W Twoim liście datowanym 17 stycznia 2006 (11:12:38) można przeczytać:

> Slawomir Cichy wrote:
>> Jacek wrote:
>>
>>> Mam dwie tabele tab1 i tab2. W tab1 są kolumy: id (primary key),
>>> pesel a w
>>> tabeli tab2: id, imie.
>>> Utworzyłem zapytanie dodające nowy rekord do tabeli tab1 w
>>> postaci:
>>>
>>> INSERT INTO tab1 (id, pesel) VALUES ('1', '12345678');
>>>
>>> i teraz w ms access to idzie czyli utworzoby jest nowy wiersz w
>>> tab1 natomiast w MySql nie jest tworzony rekord, wipisuje mi błąd
>>> o treści:
>>>
>>> "Cannot add a child row: a foreign key constraint fails "
>>>
>>> Może mi ktoś podpowiedzieć jak ma wyglądać zapyanie dodające taki
>>> rekod do bazy mysql??
>>>
>>
>> Zapytanie jest jak najbardziej prawidlowe. Kwestia tego czy rozumiesz co
>> napisal do Ciebie serwer, a poinformowal cie, ze nie mozesz dodac nowego
>> rekordu, poniewaz masz zdefiniowany zwiazek integralnosci w postaci
>> klucza obcego do innej tabeli i serwer bazy nie znajduje w tabeli
>> nadrzednej wartosci, ktora probujesz wprowadzic do tabeli podrzednej.
>>
>> Zobacz jaka masz zdefiniwana tablice nadrzedna, i dodaj do niej
>> odpowiedni rekord, a pozniej dodaj rekord do tablicy podrzednej.
>>
>> pozdrawiam
>> Slawas

> po prostu sprobuj wpierw dodac imie a pozniej dodawaj pesel (odwroc
> kolejnosc operacji)
próbowałem najpierw w tabeli "rodzic" a potem w tabeli "dziecko"
ale neistety mySql nie chce to zapytanie przełknąć.. niewiem
czemu..

--
Pozdrowienia,
Jacek W.





Jacek - 19-01-2006 09:32
=?iso-8859-2?Q?Re=3A_=5BMySQL=5D_i_MS_Acccess_insert_do_dw=F3 ch_tabel?=
  Witaj Slawomir,

W Twoim liście datowanym 17 stycznia 2006 (11:12:38) można przeczytać:

> po prostu sprobuj wpierw dodac imie a pozniej dodawaj pesel (odwroc
> kolejnosc operacji)
Wykasowałem tamte tabele i po raz kolejny stworzyłem nowe.

tab1
CREATE TABLE `tab1` (
`id` INT NOT NULL AUTO_INCREMENT ,
`imie` VARCHAR( 20 ) NOT NULL ,
`nazwisko` VARCHAR( 30 ) NOT NULL ,
PRIMARY KEY ( `id` )
);

tab2
CREATE TABLE `tab2` (
`id` INT NOT NULL ,
`miejscowosc` VARCHAR( 20 ) NOT NULL ,
`ulica` VARCHAR( 40 ) NOT NULL ,
`nrdomu` VARCHAR( 10 ) NOT NULL ,
INDEX ( `id` )
);

W widoku relacyjnym tab2 ustawiłem pole tab2id->id.tab1 a w
tabeli tab1 tab1.id->tab2.id

i niestety.... polecenie

INSERT INTO `tab1` ( `id` , `imie` , `nazwisko` )
VALUES (
'', 'sss', 'ss'
);

nie działa... nie wiem już sam dlaczego skoro w ms access idzie
bez problemów takie polecenie insert w tabelach z relacjami.

Dalej mam "Cannot add a child row: a foreign key constraint
fails".

Obojętnie czy dodaję nowy rekord w tab1 czy w tab2.
Powiem że polecenie działa jak nie ma relacji pomiędzy tabelami.
Ponieważ jestem początkujący z mySql to nie wiem co może być
przyczyną. Uprawnienia do INSERT mam.

--
Pozdrowienia,
Jacek W.




Slawomir Cichy - 19-01-2006 09:33

  Jacek wrote:
> Witaj Slawomir,
>
> W Twoim liście datowanym 17 stycznia 2006 (11:12:38) można przeczytać:
>
/ciach/
>
> W widoku relacyjnym tab2 ustawiłem pole tab2id->id.tab1 a w
> tabeli tab1 tab1.id->tab2.id
>

jezeli dobrze zrozumialem tworzysz dwa zwiazki zwiazki klucza obcego:

tab2.id w referencji na tab1.id
i
tab1.id w referencji na tab2.id

ooops... a jaki to ma sens? zdefiniuj tylko _jeden_ zwiazek, bo teraz
masz "zakleszczenie" - nie mozesz dodac rekordu do tabeli tab1 bo nie
ma rekordu nadrzednego w tab2 i to samo odwrotnie: nie dodasz rekordu do
tab2 bo nie ma rekordu nadrzednego w tab1 :(

Jak zdefinujesz zwiazek
tab2.id w referencji na tab1.id
to wpierw wprowadzaj do tab1 a pozniej do tab2

pozdrawiam
Slawas




Jacek - 19-01-2006 09:33
=?iso-8859-2?Q?Re:_[MySQL]_i_MS_Acccess_insert_do_dw=F3ch_tabel?=
  Witaj Slawomir,

W Twoim liście datowanym 18 stycznia 2006 (12:35:04) można przeczytać:

> jezeli dobrze zrozumialem tworzysz dwa zwiazki zwiazki klucza obcego:

> tab2.id w referencji na tab1.id
> i
> tab1.id w referencji na tab2.id

> ooops... a jaki to ma sens? zdefiniuj tylko _jeden_ zwiazek, bo teraz
> masz "zakleszczenie" - nie mozesz dodac rekordu do tabeli tab1 bo nie
> ma rekordu nadrzednego w tab2 i to samo odwrotnie: nie dodasz rekordu do
> tab2 bo nie ma rekordu nadrzednego w tab1 :(
> Jak zdefinujesz zwiazek
> tab2.id w referencji na tab1.id
> to wpierw wprowadzaj do tab1 a pozniej do tab2

Dzięki za odpowiedź. Porawdziłem sobie z tym problemem. Po prostu
tworzyłem tabele w phpmyadmin i no coż... myślałem że tak trzeba
definiować te związki. (Nie znałem ani phpmyadmin ani mysql'a.)
A teraz powiem jak sobie poradziłem....po prostu utworzyłem
tabele z wiersza polecen mysql.. i tam zdefiniowałem "foreign key"
ale tylko w jednej z dwóch utworzonych tabel no i .. zadziałało.

Dzięki za wyjaśnienie tego powyżej. Nie obeszło się bez
studiowania ksiązki mysql po angielsku ze zwróceniem uwagi na
tabele innodb :)
Na przyszłośc będę już na pewno wiedział.

--
Pozdrowienia,
Jacek W.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO Czy zna (obsługuje) ktoś program Iso Draw ? MYSQL - kodowanie w ISO-PL strona plus baza w iso do utf-8 Kodowanie: z iso na utf Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8 [MS SQL] SQL Server Agent i server zdalny Jak =?windows-1250?Q?pobra=E6_szacowan=B9_wielko=9C=E6_zbiory_wy nikowego_w_MS?==?windows-1250?Q?_SQL_2005=3F?= =?iso-8859-2?q?Co_oznacza_b=B3=B1d_Warning:_mysql=5Fconnect() _[function.mysql-connect]:_Can't_connect_to_local_MySQL_server_through_sock et_'/var/run/mysqld/mysqld.sock'_(2)_in?= =?iso-8859-2?q?Informatyka,_Java,_EJB,_Ajax,_Spring=2E_Czy=BF by_to_koniec_=B6wiata,_czy_te=BF_nasze_uczelnie_b= EAd=B1_uczy=B3y_w_ko=F1cu!_czego_praktycznego_=2E= 2E=2E=2E?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • red-hacjenda.opx.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

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com