Auteur Topic: foreign key / references  (gelezen 2988 keer)

Offline Aanbeeld

  • Bedankjes
  • -Gegeven: 19
  • -Ontvangen: 12
  • Berichten: 218
foreign key / references
« Gepost 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:

Citaat
#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
  • Mijn Synology: DS111
  • HDD's: ST31000528AS

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 123
  • -Ontvangen: 181
  • Berichten: 2.010
Re: foreign key / references
« Reactie #1 Gepost op: 01 oktober 2012, 22:43:20 »
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
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
DS923+    4 x WD80EFPX DSM 7.2.2-72806 Update 2   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!

Offline Aanbeeld

  • Bedankjes
  • -Gegeven: 19
  • -Ontvangen: 12
  • Berichten: 218
Re: foreign key / references
« Reactie #2 Gepost op: 01 oktober 2012, 22:53:28 »
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.
  • Mijn Synology: DS111
  • HDD's: ST31000528AS

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 123
  • -Ontvangen: 181
  • Berichten: 2.010
Re: foreign key / references
« Reactie #3 Gepost op: 01 oktober 2012, 22:59:53 »
Citaat van: "Aanbeeld"
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
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
DS923+    4 x WD80EFPX DSM 7.2.2-72806 Update 2   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!

Offline Aanbeeld

  • Bedankjes
  • -Gegeven: 19
  • -Ontvangen: 12
  • Berichten: 218
Re: foreign key / references
« Reactie #4 Gepost op: 01 oktober 2012, 23:08:43 »
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.
  • Mijn Synology: DS111
  • HDD's: ST31000528AS

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 123
  • -Ontvangen: 181
  • Berichten: 2.010
Re: foreign key / references
« Reactie #5 Gepost op: 01 oktober 2012, 23:15:28 »
Citaat van: "Aanbeeld"
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)
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
DS923+    4 x WD80EFPX DSM 7.2.2-72806 Update 2   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!

Offline Aanbeeld

  • Bedankjes
  • -Gegeven: 19
  • -Ontvangen: 12
  • Berichten: 218
Re: foreign key / references
« Reactie #6 Gepost op: 01 oktober 2012, 23:23:54 »
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.
  • Mijn Synology: DS111
  • HDD's: ST31000528AS

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 123
  • -Ontvangen: 181
  • Berichten: 2.010
Re: foreign key / references
« Reactie #7 Gepost op: 01 oktober 2012, 23:58:24 »
Mooi dat 't gelukt is veel succes verder!

Wizjos
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
DS923+    4 x WD80EFPX DSM 7.2.2-72806 Update 2   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!