Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Can't create table. InnoDB, problem z FOREIGN KEY?
rafalp
post
Post #1





Grupa: Zarejestrowani
Postów: 224
Pomógł: 18
Dołączył: 4.02.2003
Skąd: Częstochowa

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


  1. CREATE TABLE friends (
  2. FK_user_id BIGINT NOT NULL,
  3. FK_friend_id BIGINT NOT NULL,
  4. STATUS TINYINT UNSIGNED NULL DEFAULT 0,
  5.  
  6. FOREIGN KEY(FK_user_id)
  7. REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE,
  8. FOREIGN KEY(FK_friend_id)
  9. REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE
  10. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;


#1005 - Can't create table '.\folder\friends.frm' (errno: 150)

Bez "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;" -działa.

Dodam że typy pól FK_user_id - user_id są takie same oraz z "PRIMARY KEY ( FK_user_id )" także nie działa

Ten post edytował rafalp 14.11.2008, 16:47:51


--------------------
Go to the top of the page
+Quote Post
osiris
post
Post #2





Grupa: Zarejestrowani
Postów: 121
Pomógł: 15
Dołączył: 19.07.2007

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


jesli dobrze pamietam to otrzymywalem podobny komunikat gdy zapominalem utworzyc indeksy w tabelach do ktorych odnosza sie klucze obce
Go to the top of the page
+Quote Post
rafalp
post
Post #3





Grupa: Zarejestrowani
Postów: 224
Pomógł: 18
Dołączył: 4.02.2003
Skąd: Częstochowa

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


Index'y w tabeli relacyjnej były.

Problem rozwiązany
Chodziło jeszcze o typy, uważałem je za takie same bo były BIGINT ale do tego tabela relacyjna miała jeszcze UNSIGNED.


--------------------
Go to the top of the page
+Quote Post
fruger
post
Post #4





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 24.11.2008

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


Mam podobny problem.
Mógłbyś dokładniej opisać jego rozwiązanie?

Mój kod:
CREATE TABLE kraj(
id int(5) PRIMARY KEY auto_increment,
nazwa varchar(30) NOT NULL UNIQUE
)engine=innoDB;

CREATE TABLE poczta(
id int(10) PRIMARY KEY auto_increment,
numer varchar(6) NOT NULL,
miejscowosc varchar(30) NOT NULL,
id_kraju int,
CONSTRAINTS fk_kraj FOREIGN KEY (id_kraju) REFERENCES id(kraj)
)engine=innoDB;"
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 06:09