Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Błąd podczas wgrywania pliku sql.
rav1989
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 5.07.2007

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


Witam,

Wygenerowałem sobie w MySQL Workbench bazę danych (plik sql) teraz jak próbuję ją załadować przez phpMyAdmin na serwer wyświetla mi się błąd:

Cytat
Błąd

Zapytanie SQL:

CREATE INDEX `fkcat` ON `categories` (
`categories_id` ASC
);

MySQL zwrócił komunikat:
#1280 - Incorrect index name 'fkcat'


Samo zapytanie wygląda tak:
  1. DROP TABLE IF EXISTS `categories` ;
  2.  
  3. CREATE TABLE IF NOT EXISTS `categories` (
  4. `id` INT NOT NULL AUTO_INCREMENT ,
  5. `title` VARCHAR(128) NULL ,
  6. `lft` INT NULL ,
  7. `rgt` INT NULL ,
  8. `categories_id` INT NULL ,
  9. PRIMARY KEY (`id`) ,
  10. CONSTRAINT `fkcat`
  11. FOREIGN KEY (`categories_id` )
  12. REFERENCES `test`.`categories` (`id` )
  13. ON DELETE NO ACTION
  14. ON UPDATE NO ACTION)
  15. ENGINE = InnoDB
  16. DEFAULT CHARACTER SET = utf8
  17. COLLATE = utf8_general_ci
  18. PACK_KEYS = DEFAULT;
  19.  
  20. CREATE INDEX `fkcat` ON `categories` (`categories_id` ASC) ;
  21.  
  22. CREATE INDEX `lft` ON `categories` (`lft` ASC) ;
  23.  
  24. CREATE INDEX `rgt` ON `categories` (`rgt` ASC) ;


I teraz nie wiem czy MySQL Workbench wygenerował zły plik, czy coś nie tak jest z phpMyAdmin. Dodam, że korzystam z najnowszej wersji WAMP.

Pozdrawiam
Rav
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Masz dwa indeksy o nazwie fkcat. Tak być nie może. Zmien drugi na fkcat2 i powinno zadziałać
Go to the top of the page
+Quote Post
rav1989
post
Post #3





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 5.07.2007

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


Może, napiszę o co mi chodzi z tą tabelą.

Otóż ma to być tabelka z kategoriami. Id to jest id kategorii, a category_id to id rodzica (tak aby np. kategoria Gry miała podkategorię Przygodowe, FPS, itp...)
reszta czyli lft, rgt określa pozycję w drzewku. Teraz jak zmieniam w MySQL Workbench indeks fkcat został z automatu dodany jak tylko dodałem klucz obcy fkcat który łączy id oraz category_id. Moim zamaiarem jest przyśpieszenie trochę usuwania kategori (ja usuwam kategorię główną i z automatu wszystkie podkategorie zostają usunięte).

Pozdrawiam
Rav
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 22:23