Foutmelding bij laden script - error 1064

Status
Niet open voor verdere reacties.

s5057285

Gebruiker
Lid geworden
16 mrt 2010
Berichten
104
Bij het uitvoeren van mijn MySQL script, welke ik zelf heb geschreven (in Netbeans 6.7.1), komen er twee foutmeldingen voor.
Namelijk de 1064 en de 1005.

Foutmelding 1064:
Code:
Error code 1064, SQL state 42000: 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 'ALTER TABLE jEnceradoLokalen ADD CONSTRAINT jEnceradoLokalen_ibfk_16 FOREIGN KEY' at line 18

Code waar het plaatsvindt:
Code:
---
--- Tabelstructuur voor de tabel jEnceradoLokalen
---

CREATE TABLE IF NOT EXISTS jEnceradoLokalen(
    id int(10) NOT NULL auto_increment,
    gebruikersId int(10) NOT NULL,
    lokaalnaam varchar(50) NOT NULL,
    lesuur int(10) NOT NULL,
    PRIMARY KEY (id),
    KEY gebruikersId(gebruikersId)
)

--
-- Beperkingen voor tabel `jEnceradoLokalen`
--
ALTER TABLE jEnceradoLokalen
  ADD CONSTRAINT jEnceradoLokalen_ibfk_16 FOREIGN KEY (gebruikersId) REFERENCES jEnceradoGebruikers (id);

In de bijlage vind je ook het sql script in encerado.rar (--> encerado.sql), mocht het bovenstaande niet duidelijk zijn.
 

Bijlagen

Foreign keys kun je alleen gebruiken bij tabellen met de engine InnoDB. Wanneer de standaard engine geen InnoDB is (meestal is dat MyISAM) dan moet je expliciet aangeven dat je een andere engine wilt gebruiken. Dat kan bij aanmaken of door wijzigen van de tabel op de volgende manier:[sql]CREATE TABLE IF NOT EXISTS jEnceradoLokalen(
id int(10) NOT NULL auto_increment,
gebruikersId int(10) NOT NULL,
lokaalnaam varchar(50) NOT NULL,
lesuur int(10) NOT NULL,
PRIMARY KEY (id),
KEY gebruikersId(gebruikersId)
) ENGINE=InnoDB

ALTER TABLE jEnceradoLokalen ENGINE=InnoDB[/sql]

Dit geldt overigens voor beide tabellen, ze moeten allebei de InnoDB engine gebruiken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan