Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z utworzeniem tabeli
trifek
post 4.09.2018, 09:59:34
Post #1





Grupa: Zarejestrowani
Postów: 340
Pomógł: 0
Dołączył: 28.09.2015

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


Witam serdecznie,
Chcę utworzyć 2 tabele:

  1. CREATE TABLE IF NOT EXISTS `category`
  2. (
  3. `id_category` int(10) UNSIGNED NOT NULL,
  4. `name_user` varchar(16) NOT NULL,
  5. `category_name` varchar(150) NOT NULL,
  6. `category_description` varchar(400) NOT NULL,
  7. `id_sub` int(11) DEFAULT NULL,
  8. PRIMARY KEY (`id_category`)
  9. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
  10.  
  11.  
  12.  
  13. CREATE TABLE IF NOT EXISTS `topics`
  14. (
  15. `id_topic` int(11) UNSIGNED NOT NULL,
  16. `id_category` int(10) NOT NULL,
  17. `topic_title` varchar(150) NOT NULL,
  18. `name_user` varchar(16) NOT NULL,
  19. `topic_last_user` varchar(16) NOT NULL,
  20. `topic_date` datetime NOT NULL,
  21. `topic_reply_date` datetime NOT NULL,
  22. `topic_views` int(11) NOT NULL DEFAULT '0',
  23. PRIMARY KEY (`id_topic`),
  24. CONSTRAINT id_category_fk FOREIGN KEY (id_category) REFERENCES category (id_category)
  25. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;


Przy próbie utworzenia takiej tabeli otrzymuję błąd:
#1005 - Nie można stworzyć tabeli `baza2`.`topics` (Kod błędu: 150 "Foreign key constraint is incorrectly formed")

Wie ktoś może jak to naprawić?
Go to the top of the page
+Quote Post
nospor
post 4.09.2018, 10:03:27
Post #2





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




masz napisane, ze nie moze stworzyc klucza obcego z tego
CONSTRAINT id_category_fk FOREIGN KEY (id_category) REFERENCES category (id_category)

Zazwyczaj nie moze tworzyc kluczy obcych gdy oba pola, ktore sa laczane sa roznych typow co i wlasnie u ciebie ma miejsce.

Znajdz 10 roznic:
`id_category` int(10) UNSIGNED NOT NULL,
`id_category` int(10) NOT NULL,

Dodatkowe rzeczy
`topic_views` int(11) NOT NULL DEFAULT '0',

Jak cos jest liczba to ma byc liczba 0 a nie tekstem '0'

int(X)
powywalaj te nawiasy z liczbami przy typach liczbowych bo nie maja zadnego sensu a tylko sie uczysz zlego nawyku


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 Wersja Lo-Fi Aktualny czas: 28.03.2024 - 17:05