par
Hubert Roksor » 20 mai 2007, 23:52
Je ne sais pas ce que tu as lu, mais je viens d'essayer et ça a marché comme prévu et du premier coup. Je te poste ce que j'ai utilisé. Si tu n'es pas sûr de toi, relis le manuel, il est relativement clair à ce sujet.
Ah, un dernier conseil, essaie toujours avant de dire que quelque chose ne marche pas. Et si ça ne marche pas, poste ce qui ne marche pas.
Code : Tout sélectionner
CREATE TABLE t1 (
t1_id smallint(5) unsigned NOT NULL auto_increment,
PRIMARY KEY (t1_id)
);
INSERT INTO t1 VALUES (1),(2),(3),(4);
CREATE TABLE t2 (
t2_id smallint(5) unsigned NOT NULL auto_increment,
t1_id smallint(5) unsigned NOT NULL,
PRIMARY KEY (t2_id),
KEY t1_id (t1_id)
);
INSERT INTO t2 VALUES (1, 2),(2, 3),(3, 1),(4, 4),(5, 4),(6, 2),(7, 2),(8, 2),(9, 3),(10, 1);
CREATE TRIGGER t1_ad AFTER DELETE ON t1 FOR EACH ROW
UPDATE t2 SET t1_id = 33 WHERE t1_id = OLD.t1_id;
Je ne sais pas ce que tu as lu, mais je viens d'essayer et ça a marché comme prévu et du premier coup. Je te poste ce que j'ai utilisé. Si tu n'es pas sûr de toi, relis le manuel, il est relativement clair à ce sujet.
Ah, un dernier conseil, essaie toujours avant de dire que quelque chose ne marche pas. Et si ça ne marche pas, poste ce qui ne marche pas.
[code]CREATE TABLE t1 (
t1_id smallint(5) unsigned NOT NULL auto_increment,
PRIMARY KEY (t1_id)
);
INSERT INTO t1 VALUES (1),(2),(3),(4);
CREATE TABLE t2 (
t2_id smallint(5) unsigned NOT NULL auto_increment,
t1_id smallint(5) unsigned NOT NULL,
PRIMARY KEY (t2_id),
KEY t1_id (t1_id)
);
INSERT INTO t2 VALUES (1, 2),(2, 3),(3, 1),(4, 4),(5, 4),(6, 2),(7, 2),(8, 2),(9, 3),(10, 1);
CREATE TRIGGER t1_ad AFTER DELETE ON t1 FOR EACH ROW
UPDATE t2 SET t1_id = 33 WHERE t1_id = OLD.t1_id;[/code]