Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: MySQL foreign key ei toimi

Matso [23.11.2007 20:10:44]

#

CREATE TABLE IF NOT EXISTS cimg_visitors (
	id BIGINT NOT NULL AUTO_INCREMENT,
	ip VARCHAR(15) NOT NULL,
	hostname VARCHAR(100) NULL,
	loads INT NOT NULL DEFAULT 0,
	true_clicks INT NOT NULL DEFAULT 0,
	INDEX(id),
	FOREIGN KEY(id) REFERENCES cimg_events(visitor_id) ON DELETE CASCADE
) ENGINE = INNODB;

CREATE TABLE IF NOT EXISTS cimg_from_domains (
	id BIGINT NOT NULL AUTO_INCREMENT,
	domain VARCHAR(100),
	INDEX(id),
	FOREIGN KEY(id) REFERENCES cimg_events(from_domain_id) ON DELETE CASCADE
) ENGINE = INNODB;

CREATE TABLE IF NOT EXISTS cimg_events (
	id BIGINT NOT NULL AUTO_INCREMENT,
	visitor_id BIGINT NOT NULL,
	from_domain_id BIGINT NOT NULL,
	date DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
	inc_counter BOOLEAN NOT NULL default false,
	PRIMARY KEY(id),
	INDEX(visitor_id),
	FOREIGN KEY(visitor_id) REFERENCES cimg_visitors(id) ON DELETE CASCADE,
	INDEX(from_domain_id),
	FOREIGN KEY(from_domain_id) REFERENCES cimg_from_domains(id) ON DELETE CASCADE
) ENGINE = INNODB;

Eli nyt jos poistan jostain taulusta jonkun rivin, niin senhän pitäis automaattisesti poistaa myös muista tauluista samanen rivi johon se viittaa id:llä, mutta ei toimi. Poistan sitten mistä vaan mitä vaan niin ei se tee mitään niille muille tauluille. Missä vika?

Matso [24.11.2007 01:02:44]

#

Ongelma ratkes. InnoDB ei ollut toiminnassa.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta