Slet fra to tabeller
Hvordan får jeg slettet en bruger som har data i to tabeller.Tabellerne ser ud som følger:
CREATE TABLE `users` (
`userId` int(11) NOT NULL auto_increment,
`userStatus` tinyint(4) NOT NULL default '0',
`userName` char(40) NOT NULL default '0',
`userPassword` char(48) NOT NULL default '0',
`sidsteBesoeg` datetime default '0000-00-00 00:00:00',
PRIMARY KEY (`userId`),
UNIQUE KEY `userName` (`userName`)
) TYPE=MyISAM AUTO_INCREMENT=69 ;
CREATE TABLE `userProfile` (
`userId` int(11) NOT NULL default '0',
`userFirstName` varchar(64) NOT NULL default '',
`userEmail` varchar(64) NOT NULL default '',
`userLastName` varchar(64) NOT NULL default '',
`userCompany` varchar(15) NOT NULL default '',
`userAddr1` varchar(64) NOT NULL default '',
`userAddr2` varchar(64) NOT NULL default '',
`userCity` varchar(64) NOT NULL default '',
`userState` varchar(64) NOT NULL default '',
`userCountry` varchar(64) NOT NULL default '',
`userTel` varchar(15) NOT NULL default '',
`userMobiTel` varchar(15) NOT NULL default '',
`userHomeTel` varchar(15) NOT NULL default '',
`userFax` varchar(15) NOT NULL default '',
`userZip` varchar(10) NOT NULL default '',
`userWeb` varchar(128) NOT NULL default '',
`userValidationKey` varchar(32) NOT NULL default '',
`userIP` varchar(32) NOT NULL default '',
`userSignUp` datetime NOT NULL default '0000-00-00 00:00:00',
`userValidated` tinyint(1) NOT NULL default '0',
`userNewsLetter` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`userId`)
) TYPE=MyISAM;
Jeg har selv prøvet med følgende:
mysql_query("DELETE users, userProfile FROM users, userProfile WHERE (users.userId=userProfile.userId, users.userStatus='1') AND users.sidsteBesoeg < NOW()");
Det med "users.sidsteBesoeg < NOW() skal jeg på en eller anden måde have ændret så det kun er brugere som ikke har logget ind i 1 år som bliver slettet:)
