Synology-Forum.nl
Packages => Officiƫle Packages => PHPMyAdmin Package => Topic gestart door: Aanbeeld op 01 oktober 2012, 22:13:07
-
Beste,
Ben nieuw met sql databases en query's. Maar wilde toch eens proberen of ik er iets mee kan. Maar ik loop al gelijk vast bij het maken van tabelen met een koppeling van 2 velden. tabel 1 staan de projecten met een ID en in een tweede tabel contact personen van de projecten met een Project_ID dat gekoppeld is aan tabel 1.
In de diverse internet handleidingen kom ik query's tegen met references of met foreign key. Maar welke combinatie ik ook probeer ik krijg steevast een fout melding die lijkt op onderstaande:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Foreign key Project_ID references `Project`(`ID`)' at line 3
hierbij heb ik de volgende code gebruikt:
alter table `Betrokken`
change `Project_ID`
Foreign key Project_ID
references `Project`(`ID`);
Iemand een idee waar ik de mist in ga? Of kan ik ergens in phpMyAdmin gelijk een foreign key opgeven voor een tabel?
dank
jeroen
-
Om te beginnen gebruik ik dit nooit, maar twee dingen vallen mij op.
1) Je database-storage-engine moet Innodb zijn, niet de standaard MyISAM.
2)Je code ziet er op 1 ding na in eerste oogopslag goed uit, behalve dat het quoteje van `Project`(`ID`); wellicht zou moeten zijn: `Project(`ID`)`;
Maar dat kan ik ook mis hebben :mrgreen:
Wizjos
-
waar stel ik de standaard storage engine in? Heb wel een pagina engines gevonden, maar daar kan ik geen standaard aan vinken.
Dank voor de tip met het aanhalingsteken, maar dat gaf dezelfde error.
-
waar stel ik de standaard storage engine in? Heb wel een pagina engines gevonden, maar daar kan ik geen standaard aan vinken.
Dank voor de tip met het aanhalingsteken, maar dat gaf dezelfde error.
Google: http://dev.mysql.com/doc/refman/5.5/en/storage-engine-setting.html
-
dank, wilde net een bericht plaatsen dat ik het stukje van storage engine al gevonden had. Ga nog eens een poging wagen. Heb nu ook het sourceforge forum gevonden en hier wordt de vraag zo vaak gesteld dat ik daar toch een passend antwoord moet vinden.
-
dank, wilde net een bericht plaatsen dat ik het stukje van storage engine al gevonden had. Ga nog eens een poging wagen. Heb nu ook het sourceforge forum gevonden en hier wordt de vraag zo vaak gesteld dat ik daar toch een passend antwoord moet vinden.
Succes! Youre'on your own.... 8)
-
en result,
dank voor de tips, om zetten naar de InnoDB engine was de truuk. Er verschijnt dan gelijk de mogelijkheid voor relatie beheer waar je dit dan gewoon met menu's kunt aanpassen. de geproduceerde sql code wordt dan:
ALTER TABLE `Betrokken`
ADD FOREIGN KEY (`Project_ID`)
REFERENCES `JH_Planning`.`Project`(`ID`) ON DELETE RESTRICT ON UPDATE RESTRICT;
Vanuit het main scherm is het mogelijk de standaard storage engine en table engine aan te passen naar InnoDB dit kan via meer --> variabelen. Nu wordt een tabel bij mij standaard in InnoDB gemaakt.
-
Mooi dat 't gelukt is veel succes verder!
Wizjos