[SQL] ruzie met foreign key's

Pagina: 1
Acties:

  • wackmaniac
  • Registratie: Februari 2004
  • Laatst online: 09:00
Ik ben momenteel bezig met een applicatie waarbij is gebruik maak van MySQL. Ik heb tabel a als volgt definieerd:

code:
1
2
3
4
5
create table a (
  a_id int not null auto_increment,
  a_naam vachar(255) not null,
  primary key (a_id)
);


En ik heb tabel b:
code:
1
2
3
4
5
6
7
create table b (
  b_id int not null auto_increment,
  b_a int not null,
  b_naam varchar(255) not null,
  foreign key (b_a) references a(a_id) on delete cascade on update cascade,
  primary key (b_id)
);


a is hierbij een tabel met categorien en b een tabel met subcategorien. Nu was ik van mening dat ik door de foreign key constructie ik een record uit a kon verwijderen en dat de records in b die naar de verwijderde identifier verwijzen worden verwijderd. Na een probeerpoging in PHPMyAdmin bleek dit niet het geval.

Nu heb ik op internet kunnen vinden dat in de innoDB engine dit zou moeten kunnen, maar ivm snelheid gebruik ik nu eigenlijk liever MyISAM, niet in de laatste plaats omdat de server waar ik op werk geen innoDB ondersteunt. Versie is 3.23.54. Ik was in de veronderstelling dat MyISAM ook foreign key's aankon, maar ik kan daar nergens uitsluitsel over vinden. Kan iemand hier mij daar uitsluitsel over geven?

[ Voor 5% gewijzigd door wackmaniac op 07-07-2006 11:38 ]

Read the code, write the code, be the code!


  • DaRKie
  • Registratie: December 2001
  • Laatst online: 12-02 09:57
MyISAM ondersteunt GEEN foreign keys!

  • Cyphax
  • Registratie: November 2000
  • Laatst online: 10:48

Cyphax

Moderator LNX
MyISAM heeft nog geen ondersteuning voor foreign keys.
In de documentatie staat wel "At a later stage, foreign key constraints will be implemented for MyISAM tables as well." maar tot die tijd kun je beter InnoDB gebruiken.
Nou was er laatst wel een berichtje dat MySQL een nieuwe engine aan het ontwikkelen was geloof ik... even zoeken.

Saved by the buoyancy of citrus


  • DaRKie
  • Registratie: December 2001
  • Laatst online: 12-02 09:57
Dat zeggen ze al 2 jaar geloof ik, dat ze dat gaan implementeren :)

  • wackmaniac
  • Registratie: Februari 2004
  • Laatst online: 09:00
Ben ik weer mooi klaar mee :)

Kan ik alles handmatig eruit gaan kegelen, want op de een of andere manier hebben die gasten die de server beheren de mogelijkheid to innoDB uitgeschakeld...

Hij accepteert de syntax trouwens wel gewoon, dat is helemaal vreemd!

[ Voor 17% gewijzigd door wackmaniac op 07-07-2006 11:43 ]

Read the code, write the code, be the code!