user テーブルと userlog テーブルの 2 つのテーブルがあります。
CREATE TABLE `client_user` (
`id_client_user` int(11) NOT NULL auto_increment,
`Nom` varchar(45) NOT NULL,
`Prenom` varchar(45) NOT NULL,
`email` varchar(255) NOT NULL,
`userid` varchar(45) NOT NULL,
`password` varchar(45) NOT NULL,
`active` tinyint(1) NOT NULL default '0',
`lastaccess` timestamp NULL default NULL,
`user_must_change_pwd` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`id_client_user`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `user_log` (
`id_user_log` int(11) NOT NULL auto_increment,
`access` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`zone_updated` varchar(255) NOT NULL,
`id_client_user` int(11) NOT NULL,
PRIMARY KEY (`id_user_log`),
KEY `fk_user_log_client_user1` (`id_client_user`),
CONSTRAINT `fk_user_log_client_user1`
FOREIGN KEY (`id_client_user`)
REFERENCES `client_user` (`id_client_user`)
ON DELETE NO ACTION
ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
client_user テーブルにユーザーを作成すると、ユーザーのアクティビティが user_log テーブルに記録されます。ここで、user_log テーブルの行を削除する必要があります。これは、外部キー制約のために拒否されました-私が理解していることです。
ドキュメントを見た後、外部キーを変更して user_log レコードを削除できるようにする方法がわかりませんでした。必要なのは外部キー (1:n)、client_user (1) から user_log (n) で、関連する client_user レコードに影響を与えずに user_log レコードを削除できます。
これはinnodbで可能だと確信していますが、方法がわかりません。ヘルプ ?