Ik heb de onderstaande tabelstructuur.
CREATE TABLE tbcustomer (
CustomerId int(10) unsigned NOT NULL auto_increment,
PRIMARY KEY (CustomerId)
) TYPE=InnoDB;
CREATE TABLE tblocation (
CustomerId int(10) unsigned NOT NULL,
LocationId int(10) unsigned NOT NULL auto_increment,
PRIMARY KEY (CustomerId,LocationId),
FOREIGN KEY (CustomerId) REFERENCES tbcustomer (CustomerId) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE=InnoDB;
Wanneer ik deze tabellen probeer aan te maken dan maakt hij alleen de tabel 'tbcustomer' aan. 'tbLocation' wordt niet aangemaakt, er wordt de melding gegeven:
"Incorrect table definition; There can only be one auto column and it must be defined as a key"
Ik wil echter wel een auto_increment gebruiken in 'tblocation' en wil natuurlijk foreign keys kunnen gebruiken.
Mijn vraag is wat er fout is in de syntax, en hoe dit opgelost kan worden?
CREATE TABLE tbcustomer (
CustomerId int(10) unsigned NOT NULL auto_increment,
PRIMARY KEY (CustomerId)
) TYPE=InnoDB;
CREATE TABLE tblocation (
CustomerId int(10) unsigned NOT NULL,
LocationId int(10) unsigned NOT NULL auto_increment,
PRIMARY KEY (CustomerId,LocationId),
FOREIGN KEY (CustomerId) REFERENCES tbcustomer (CustomerId) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE=InnoDB;
Wanneer ik deze tabellen probeer aan te maken dan maakt hij alleen de tabel 'tbcustomer' aan. 'tbLocation' wordt niet aangemaakt, er wordt de melding gegeven:
"Incorrect table definition; There can only be one auto column and it must be defined as a key"
Ik wil echter wel een auto_increment gebruiken in 'tblocation' en wil natuurlijk foreign keys kunnen gebruiken.
Mijn vraag is wat er fout is in de syntax, en hoe dit opgelost kan worden?
Proud member of [DPC]Team_RC | Join Team RC