[MYSQL] Error bij creatie InnoDb tabellen.

Pagina: 1
Acties:

  • PR3T
  • Registratie: December 2001
  • Laatst online: 20-03 13:00

PR3T

[DPC]Team_RC

Topicstarter
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?

Proud member of [DPC]Team_RC | Join Team RC


  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

Het zou kunnen dat de constructie

PRIMARY KEY (CustomerId,LocationId)

Een combinatie van een auto_increment en een foreign key niet wordt geaccepteerd.

Je zou gewoon de LocationID als PK kunnen setten en LocationID en CustomerID als een unique index

[edit]

verder raad ik je aan om gebruik te maken van unieke veldnamen. Dus:

code:
1
2
3
4
5
6
7
tbCustomer:
  cust_id
  cust_name
  
tbLocation
  loc_id
  loc_cust_id


dit vind ik persoonlijker een stuk duidelijker en het scheelt in je queries een hoop (onzinnige) aliassen

[ Voor 37% gewijzigd door thomaske op 13-01-2003 11:49 ]

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • PR3T
  • Registratie: December 2001
  • Laatst online: 20-03 13:00

PR3T

[DPC]Team_RC

Topicstarter
thomaske schreef op 13 January 2003 @ 11:44:
Het zou kunnen dat de constructie

PRIMARY KEY (CustomerId,LocationId)

Een combinatie van een auto_increment en een foreign key niet wordt geaccepteerd.

Je zou gewoon de LocationID als PK kunnen setten en LocationID en CustomerID als een unique index
Thnx nu pakt ie hem wel. ;)

Proud member of [DPC]Team_RC | Join Team RC