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?
Ongelma ratkes. InnoDB ei ollut toiminnassa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.