ďťż
 
[MySQL] mam index, ale Foreign Key mowi, ze nie ďťż
 
[MySQL] mam index, ale Foreign Key mowi, ze nie
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

[MySQL] mam index, ale Foreign Key mowi, ze nie



R - 04-01-2006 09:33
[MySQL] mam index, ale Foreign Key mowi, ze nie
  Witam grupowiczow.

Mam tabele:

CREATE TABLE `praca` (
`id_p` bigint(20) NOT NULL auto_increment,
`szef` bigint(20) unsigned NOT NULL,
`pracownik` bigint(20) unsigned NOT NULL,
PRIMARY KEY (`id_p`),
KEY `szef` (`szef`),
KEY `pracownik` (`pracownik`)
) ENGINE=InnoDB DEFAULT CHARSET=latin2;

no i zalozmy najprostsza tablice pracownicy - w niej sa szefowie i pracownicy
rozni ich tylko status

CREATE TABLE `pracownicy` (
`id_prac` BIGINT( 20 ) NOT NULL AUTO_INCREMENT ,
`status` ENUM( 'S', 'P' ) NOT NULL ,
PRIMARY KEY ( `id_prac` )
) TYPE = innodb;

no i chce polaczy pola z praca: szef i pracownik do tabeli pracownicy
do kolumny id_prac robie:

ALTER TABLE praca ADD FOREIGN KEY ( szef ) REFERENCES pracownicy( id_prac ) ON
DELETE CASCADE ON UPDATE CASCADE

dostaję error, jak zrobię:

SHOW INNODB STATUS

to widzę:

Error in foreign key constraint of table public/#sql-76c_55:
FOREIGN KEY (szef) REFERENCES pracownicy(id_prac) ON DELETE CASCADE ON UPDATE
CASCADE:
Cannot find an index in the referenced table where the
referenced columns appear as the first columns, or column types
in the table and the referenced table do not match for constraint.

a przeciez kolumna szef jest indeksem...

jakies pomysly?

z gory dzieki za pomoc
pzdr R

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/





Mariusz Pietrzyk - 05-01-2006 08:04

  Miałek ten sam problem tylko myślalem ze to winna windowsa ze nie da sie
etgo skonfigurowac.Blad wystepował na mysql 5.0 jak bedziesz mial
rozwiazanie to daj znac.

---------------------------
Pozdrawiam Mariusz Pietrzyk

On Tue, 3 Jan 2006, R wrote:

> Witam grupowiczow.
>
> Mam tabele:
>
> CREATE TABLE `praca` (
> `id_p` bigint(20) NOT NULL auto_increment,
> `szef` bigint(20) unsigned NOT NULL,
> `pracownik` bigint(20) unsigned NOT NULL,
> PRIMARY KEY (`id_p`),
> KEY `szef` (`szef`),
> KEY `pracownik` (`pracownik`)
> ) ENGINE=InnoDB DEFAULT CHARSET=latin2;
>
> no i zalozmy najprostsza tablice pracownicy - w niej sa szefowie i pracownicy
> rozni ich tylko status
>
> CREATE TABLE `pracownicy` (
> `id_prac` BIGINT( 20 ) NOT NULL AUTO_INCREMENT ,
> `status` ENUM( 'S', 'P' ) NOT NULL ,
> PRIMARY KEY ( `id_prac` )
> ) TYPE = innodb;
>
> no i chce polaczy pola z praca: szef i pracownik do tabeli pracownicy
> do kolumny id_prac robie:
>
> ALTER TABLE praca ADD FOREIGN KEY ( szef ) REFERENCES pracownicy( id_prac ) ON
> DELETE CASCADE ON UPDATE CASCADE
>
> dostaję error, jak zrobię:
>
> SHOW INNODB STATUS
>
> to widzę:
>
> Error in foreign key constraint of table public/#sql-76c_55:
> FOREIGN KEY (szef) REFERENCES pracownicy(id_prac) ON DELETE CASCADE ON UPDATE
> CASCADE:
> Cannot find an index in the referenced table where the
> referenced columns appear as the first columns, or column types
> in the table and the referenced table do not match for constraint.
>
> a przeciez kolumna szef jest indeksem...
>
> jakies pomysly?
>
> z gory dzieki za pomoc
> pzdr R
>
>
>
> --
> Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
>

--
Archiwum grupy: http://niusy.onet.pl/pl.comp.bazy-danych




R - 07-01-2006 19:04

  wijet@kolos.math.uni.lodz.pl (Mariusz Pietrzyk) napisał(a):

> Miałek ten sam problem tylko myślalem ze to winna windowsa ze nie da sie
> etgo skonfigurowac.Blad wystepował na mysql 5.0 jak bedziesz mial
> rozwiazanie to daj znac.

nie, sorry, ze dopiero teraz odpisuje, juz dawno (w zasadzie w kilka minut
po wyslaniu posta sie skapnalem co bylo zle)

otoz moje kolumny te zwiazane byly BIGINT ale byly kolumna na ktora wskazywaly
byly BIGINT UNSIGNED ;-)

a jak wiadomo kolumna, ktora moze przyjmowac wartosc -1212121212121212
ni jak ma sie do klucza glownego tez BIG INT ale UNSIGNED ;-)

ogolnie: sygnaturki kolumn relacyjnych MUSZA byc kubek w kubek takie same!!

pzdr R

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [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?= [MS SQL] "set names" (mySQL) w MS SQL [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?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • kfia-tek.keep.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