> You need to make *both* of your table definitions include 
> "Type=InnoDB"; *then*, the cascading delete should work fine.

This is what I have done upon Keith's suggestion. I have changed all
my tables to Type=innodb.
Still nothing. Maybe mysqlcc or mysql administrator deliver wrong
information?
Deleteting the record in Table domains leaves the record in Table
users referencing domains untouched. 
Or is my sql script bad? I'm already spending hours on that.

CREATE TABLE domains (
  ID_DOMAINS int(11) auto_increment,
  active int(1) not null,
  domain varchar(50) NOT NULL,
  PRIMARY KEY (ID_DOMAINS)
) type=innodb;

Either this 'users' Table:
create table users (
  email varchar (80) primary key unique not null,
  belongs_to integer not null references domains on delete cascade
) type=innodb;  

or this 'users' Table:
create table users (
  email varchar (80) primary key unique not null,
  belongs_to integer not null,
  foreign key (belongs_to) references domains on delete cascade
) type=innodb;


Philipp 
 
> Rhino
> 
> ----- Original Message -----
> From: "Philipp Snizek" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>; "Mysql List (E-mail)" 
> <mysql@lists.mysql.com>
> Sent: Tuesday, February 22, 2005 7:49 AM
> Subject: RE: referencial integrity problem
> 
> 
> 
> > Foreign keys are only supported within InnoDB tables (on both
> sides)..
> 
> so using a table 'users' like
> 
> create table users (
>   email varchar (80) primary key unique not null,
>   belongs_to integer not null references domains on delete cascade
> );
> 
> without foreign keys could help?
> I couldn't make it work that way either.
> 
> Philipp
> 
> > Hi
> >
> > I run a Postfix MTA attached to a mysql DB with various
> > domains on it. A
> > domain consists of email addresses. When I want to delete the
> > domain the
> > referenced email addresses should be deleted, too. But that
> > doesn't work
> > and I don't know why.
> >
> > here are the two tables domains and users:
> >
> > CREATE TABLE domains (
> >   ID_DOMAINS int(11) auto_increment,
> >   active int(1) not null,
> >   domain varchar(50) NOT NULL,
> >   PRIMARY KEY (ID_DOMAINS)
> > ) TYPE=MyISAM;
> >
> > create table users (
> > email varchar (80) primary key unique not null, belongs_to integer
> not
> > null, foreign key (belongs_to) references domains on delete
cascade
> );
> >
> > if I use the delete command like "delete from domains where
> > id_domains='1'" the dataset that belongs to id 1 in domains is
> deleted
> > while the email addresses belonging to this domain are left
> untouched.
> >
> > What am I missing?
> >
> > thanks
> > Philipp
> >
> > -- 
> > MySQL General Mailing List
> > For list archives: http://lists.mysql.com/mysql
> > To unsubscribe:
> > http://lists.mysql.com/[EMAIL PROTECTED]
> >
> > -- 
> > No virus found in this incoming message.
> > Checked by AVG Anti-Virus.
> > Version: 7.0.300 / Virus Database: 266.3.0 - Release Date:
> 21/02/2005
> >
> >
> > -- 
> > No virus found in this outgoing message.
> > Checked by AVG Anti-Virus.
> > Version: 7.0.300 / Virus Database: 266.3.0 - Release Date:
> 21/02/2005
> >
> >
> >
> > -- 
> > MySQL General Mailing List
> > For list archives: http://lists.mysql.com/mysql
> > To unsubscribe:
> > http://lists.mysql.com/[EMAIL PROTECTED]
> >
> >
> 
> -- 
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:    
> http://lists.mysql.com/[EMAIL PROTECTED]
> 
> 
> 
> -- 
> No virus found in this incoming message.
> Checked by AVG Anti-Virus.
> Version: 7.0.300 / Virus Database: 266.2.0 - Release Date:
21/02/2005
> 
> 
> 
> 
> -- 
> No virus found in this outgoing message.
> Checked by AVG Anti-Virus.
> Version: 7.0.300 / Virus Database: 266.2.0 - Release Date:
21/02/2005
> 
> 

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to