Nejste přihlášeni
Stránky 1
Ano, to jsou ty indexové klíče, ale reálně nemají žádný efekt. Nevadí, ochranu proti cizímu klíči odkazujícímu na neexistující záznam jsem si implementoval na úrovni PHP, takže bez toho asi přežiju ![]()
Ano, vím o tom. V době kdy jsem databázi tvořil jsem to nevěděl a jako primární klíč tabulky `states` použil sloupeček `id` typu char(4). Předělávat se mi to nechtělo a na funkčnosti by to nemělo mít vliv. Nicméně vytvořit cizí klíč se mi nedaří ani pro sloupeček `area_id`, které je klasického typu int:
ALTER TABLE gallery_areas ADD CONSTRAINT FK_ImgAreaID FOREIGN KEY (area_id) REFERENCES areas(id);Pokus o vložení záznamu s hodnotou `area_id` třeba 9999 (neodpovídající žádnému záznamu v areas) dopadne úspěšně, což by se dít nemělo.
Zkusil jsem do tabulky `gallery_areas` vložit foreign key následujícím dotazem:
ALTER TABLE gallery_areas ADD CONSTRAINT FK_AreaImgState FOREIGN KEY (state_id) REFERENCES states(id);Dotaz byl úspěšně proveden. Následně jsem do tabulky vložil nový záznam dotazem:
INSERT INTO `gallery_areas` (`id`, `area_id`, `filename`, `state_id`, `description`) VALUES (NULL, '2', 'IMG_20210318_103646.jpg', 'abcd', NULL);Dotaz byl opět úspěšně proveden. V tabulce `states` však neexistuje záznam, který by měl `id`='abcd'. Zřejmě to tedy stále nefunguje ![]()
Uživatel beny258, databáze urbanclimbingbrno. Práva by navýšena být měla. Teď jsem si však všiml, že mi phpMyAdmin vypisuje panel:
Některé z rozšířených funkcí phpMyAdmina nelze používat. Zjistěte proč.
Přičemž po otevření odkazu "Zjistěte proč" se objeví informace:
Konfigurace pmadb… není v pořádku
Obecné funkce relací Vypnuto
a dodatek:
Create a database named 'phpmyadmin' and setup the phpMyAdmin configuration storage there.
Na vytvoření databáze phpmyadmin však nemám práva, což je mi sděleno při pokusu o vytvoření oné databáze:
You do not have necessary privileges to create a database named 'phpmyadmin'. You may go to 'Operations' tab of any database to set up the phpMyAdmin configuration storage there.
Dobrý den,
nedaří se mi přes phpMyAdmin vytvořit cizí klíč, a to ani přes UI, ani pomocí SQL dotazu. Dle návodu zde https://youtu.be/7HTAX0dfJqg je potřeba v phpMyAdmin otevřít strukturu tabulky a pak nahoře kliknout na Relation view, nic takové tam však nevidím. Když se pokusím přidat cizí klíč přes SQL dotaz, např:
ALTER TABLE Orders ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);tak se pouze vytvoří index klíč, ale reálně to žádný efekt nemá (přidání záznamu s cizím klíčem indexujícím neexistující záznam v druhé tabulce nevyhodí chybu).
Předem děkuji za pomoc.
Dobrý den,
přidávám se k dotazu, taktéž by se mi to pro můj projekt hodilo ze stejných důvodů.
Děkuji
Stránky 1