![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Hej mam następującą tabelę
![]() Jeden klucz zew. jest dodany do tabeli w której przechowywani są użyszkodnicy, natomiast _country_id leci do tabeli która przechowuje nazwy państw. Czyli niezbyt to skomplikowane. Niestety kiedy prubuję utworzyć tą tabelę przy ustawionym silniku składowania na InnoDB wywala mi ona błąd 1005: Nie można utworzyć tabeli ( 105) znalazłem co nieco o nim tutaj niestety nie ma tam opisanego mojego przypadku. Znalazłem rozwiązanie typu plaster na (_|_), które polega na zmianie typu na MyISAM, dodaniu tabeli, a następnie manualnej zmianie na InnoDB. Chciałbym jednak wiedzieć co powoduje ten błąd żebym nie musiał go obchodzić w przyszłości. Dzięki Edit> Kod CREATE TABLE IF NOT EXISTS `state` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT , `name` VARCHAR(125) NOT NULL , `_country_id` INT NOT NULL , PRIMARY KEY (`id`) , UNIQUE INDEX `code_UNIQUE` (`id` ASC) , INDEX `fk_state_country` (`_country_id` ASC) , CONSTRAINT `fk_state_country` FOREIGN KEY (`_country_id` ) REFERENCES `country` (`id` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB Ten post edytował starach 23.09.2011, 16:52:43 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 156 Pomógł: 31 Dołączył: 23.02.2009 Skąd: Sanok Ostrzeżenie: (0%) ![]() ![]() |
Pokaż kod CREATE TABLE drugiej tabeli. Prawdopodobnie pola które tworzą klucz mają różną definicje np. w jeden z tabel zamiast INT, jest UNSIGNED INT i to już nie zadziała i wywali błąd 1005
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Faktycznie. Musiałem po zrobieniu relacji w edytorze graficznym przez przypadek odznaczyć UNSIGNE INT. Dzięki już działa.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 04:05 |