Maakt u gebruik van InnoDB tabellen in uw database i.p.v. MyISAM tabellen?
InnoDB tabellen kennen zogenaamde foreign keys. Dit zijn relaties tussen de tabellen.
Voorbeeld: Er zijn twee tabellen gebruiker en bestelling.
1 bestelling hoort bij 1 gebruiker (We kunnen ook 1 op veel relaties hebben).
Om deze relatie nu vast te leggen en te bewaken gebruik je foreign keys.
Dit wordt er volgens mij bedoelt met:
Fout
Extra opties om met tabellen te werken die gelinked zijn, zijn uitgeschakeld. Om te weten te komen waarom klik hier.
Dus volgens mij is de ondersteuning voor InnoDB tabellen weg. Dit zou door het installeren van een nieuwe versie van MySQL kunnen zijn gebeurd. In dit geval ligt het probleem bij de host.
Volgens mij heeft het niet zozeer met InnoDB-support te maken maar meer de functionaliteit welke PMA te bieden heeft. Binnen PMA kun je namelijk tabellen met elkaar koppelen, in de verschillende overzichten worden dan meteen de gekoppelde gegevens opgehaald en weergegeven (onder water worden er dus tabellen op elkaar "gejoined" op de voorwaarden welke je kunt vastleggen in de PMA-database), hiervoor is een 2e database nodig welke je bij een shared host doorgaans niet hebt.
Het is géén ondersteuning voor referentiële integriteit tussen de tabellen. Het is ook geen kritische foutmelding, je hoeft je hier absoluut geen zorgen over te maken.
Klopt Martijn, 't is puur PMA-meuk, in de link die je noemt wordt echter het volgende gezegd:
Deze functies kun je inschakelen zodat er gewerkt wordt met foreign key relations. (vreemde sleutels) Als je dan iets update in de ene tabel veranderd automatisch alle relevantie info in een andere tabel ook. Kan erg handig zijn
Maar dat is dus niet waar. Als je dit wilt bewerkstelligen zal je uit moeten wijken naar de InnoDB-tabellen ('k heb er weleens iets over geschreven op http://www.phphulp.nl/php/tutorials/3/274/)
?
Onbekende gebruiker
15-11-2006 12:07
Martijn ik gebruik tot nu toe MyIsam tabellen.
Bedank Martijn en Remco het is me een stukje duidelijker geworden.
Tip: Gebruik SQL Manager 2005 Lite for MySQL (Windows) i.p.v. PMA. Dat werkt vele malen handiger, zeker wanneer je met innoDB met foreignkeys aan de slag gaat. En innoDB is eigenlijk de enige engine van MySQL die je als DBMS serieus kunt nemen, bij de overige engines (dus ook MyIsam) hangt de hele database als los zand aan elkaar. Deze engines doen geen enkele poging om jouw data te beschermen.
Let er wel op dat je host hiervoor connecties van buitenaf moet toestaan, dit is bij veel hosts niet mogelijk, het gros staat alleen verbindingen toe vanaf de eigen server(s).
Frank heeft echter een goed punt, PMA is absoluut niet zaligmakend en moet altijd worden gezien als een "hulpmiddel", niet als DE MySQL-tool. Veel MySQL-functionaliteiten zijn in PMA simpelweg niet aanwezig of ontbreken omdat het een webinterface is.
Remco heeft ook een goed punt, even niet aan gedacht. Ik ontwikkel altijd eerst lokaal op mijn eigen server, dus geen problemen met toegang, en ga dan op basis van de export van deze database de boel installeren op de server bij de hostingprovider. Hiervoor wordt een apart script geschreven.