Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2009-06-25 10:12:49

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

mysql + relacje

Witam! Mam taki problem! Przeniosłem sobie skrypt z sysbase do mysql'a
Wszystkie formuły dodające tabele itd grają bez problemu tylko na takim wpisie tworzącym relacje:

alter table Czesci_potrzebne_do_naprawy
   add constraint FK_CZESCI P_RELATIONS_Czesc foreign key (id_czesci)
      references Czesc (id_czesci)
      on update restrict
      on delete restrict;

alter table Czesci_potrzebne_do_naprawy
   add constraint FK_CZESCI P_RELATIONS_NAPRAWA foreign key (id_naprawa)
      references NAPRAWA (id_naprawa)
      on update restrict
      on delete restrict;


alter table NAPRAWA
   add constraint FK_NAPRAWA_RELATIONS_KLIENT foreign key (id_klient)
      references KLIENT (id_klient)
      on update restrict
      on delete restrict;

alter table NAPRAWA
   add constraint FK_NAPRAWA_RELATIONS_MECHANIK foreign key (id_mechanik)
      references MECHANIK (id_mechanik)
      on update restrict
      on delete restrict;


wyrzuca mi błąd:

Script line: 1    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'P_RELATIONS_Czesc foreign key (id_czesci)
      references Czesc (id_czesci)
' at line 2
Script line: 7    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'P_RELATIONS_NAPRAWA foreign key (id_naprawa)
      references NAPRAWA (id_napra' at line 2

Wydaje mi się że są jakieś zbieżności we wpisach jeśli chodzi o mysql i sysbase.
Ja chciałem wszystko zrobić w mysql

Wie ktoś może jak poprawić w/w wpisy aby zadziałały mi relacje??

Był bym wdzięczny za jakoąkolwiek pomoc:)


debbie
Wrócę jak zjem zupę i drugie danie - tyle
a oto ta zupa:

Offline

 

#2  2009-06-25 10:24:33

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Re: mysql + relacje

Zrobiłem coś takiego:
jak miałem:

alter table Czesci_potrzebne_do_naprawy
   add constraint FK_CZESCI P_RELATIONS_Czesc foreign key (id_czesci)
      references Czesc (id_czesci)
      on update restrict
      on delete restrict;

alter table Czesci_potrzebne_do_naprawy
   add constraint FK_CZESCI P_RELATIONS_NAPRAWA foreign key (id_naprawa)
      references NAPRAWA (id_naprawa)
      on update restrict
      on delete restrict;

to u góry w :

add constraint FK_CZESCI P_RELATIONS_Czesc foreign key (id_czesci)

zmieniłem dodając łącznik _ na:

add constraint FK_CZESCI_P_RELATIONS_Czesc foreign key (id_czesci)

między FK_CZESCI i P_RELATIONS_Czesc

niżej to samo! I poszło.

Tylko czy przez te złączenie - to napewno będzie działać tak jak ma działać??


debbie
Wrócę jak zjem zupę i drugie danie - tyle
a oto ta zupa:

Offline

 

#3  2009-06-25 10:48:57

  Azul - Nowy użytkownik

Azul
Nowy użytkownik
Zarejestrowany: 2009-06-23

Re: mysql + relacje

http://dev.mysql.com/doc/refman/5.1/en/alter-table.html
http://dev.mysql.com/doc/refman/5.1/en/innodb-forei … straints.html

Używasz silnika InnoDB w bazie, czy standardowego MyISAM? Jesli tego drugiego, to takie ograniczenia zostaną zignorowane.

Offline

 

#4  2009-06-25 13:51:26

  chyl-o - Członek DUG

chyl-o
Członek DUG
Skąd: Lublin
Zarejestrowany: 2006-04-04
Serwis

Re: mysql + relacje

To tylko nazwy wiązań, nie powinno być problemów.

Zwróć uwagę na silniki - jak kolega wyżej napisał.


Registered Linux User: #417111
http://chyl.org/pub/images/dug_button.png

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)