----- Original Message ----- From: "Jocelyn Fournier" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Saturday, May 25, 2002 3:35 PM Subject: Re: multi-table delete bug
Hi, Yes, you're right, but to see the problem, you have to restart mysql between > INSERT INTO t2 (mot) VALUES > ('test'),('joce'),('ouee'); > > Query OK, 3 rows affected (0.02 sec) > Records: 3 Duplicates: 0 Warnings: 0 AND > DELETE FROM t2,t3 USING t2 as a,t3 as > b,t1 as c WHERE b.numreponse=a.numreponse AND > b.topic=c.numeropost AND c.date<'2002-05-30'; Then you will obtain : mysql> INSERT INTO t2 (mot) VALUES -> ('test'),('joce'),('ouee'); Query OK, 3 rows affected (0.01 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> exit [root@forum] /home/mysql-4.0> mysqladmin -uroot -p shutdown Enter password: [root@forum] /home/mysql-4.0> mysqld_safe & [1] 22419 [root@forum] /home/mysql-4.0> Starting mysqld daemon with databases from /home/mysql [root@forum] /home/mysql-4.0> mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 95 to server version: 4.0.2-alpha Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> use Hardwarefr; Database changed mysql> DELETE FROM t2,t3 USING t2 as a,t3 as -> b,t1 as c WHERE b.numreponse=a.numreponse AND -> b.topic=c.numeropost AND c.date<'2002-05-30'; Query OK, 0 rows affected (0.00 sec) Regards, Jocelyn > ----- Original Message ----- > From: "Sinisa Milivojevic" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Cc: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> > Sent: Saturday, May 25, 2002 12:57 PM > Subject: Re: multi-table delete bug > > > > > > Hi! > > > > Thank you for your test case. > > > > However, with latest 4.0.2 code I am getting correct results with > > it. Difference in number of rows in select and delete are stemming > > from the fact that select reports number of rows in result set, while > > delete reports total number of rows deleted. > > > > These are results that I get. If you still think that those are not > > correct, please let me know. > > > > I get this : > > > > create database xx; > > > > Query OK, 1 row affected (0.00 sec) > > > > use xx; > > > > Database changed > > > > CREATE TABLE `t1` ( > > `titre` char(80) NOT NULL default '', > > `numeropost` mediumint(8) unsigned NOT NULL auto_increment, > > `ouvert` tinyint(1) unsigned NOT NULL default '1', > > `date` datetime NOT NULL default '0000-00-00 00:00:00', > > `auteur` char(35) NOT NULL default '', > > `icone` tinyint(2) unsigned NOT NULL default '0', > > `nbrep` mediumint(8) unsigned NOT NULL default '0', > > `maxnumrep` int(10) unsigned NOT NULL default '0', > > `vue` mediumint(8) unsigned NOT NULL default '0', > > `lastauteur` char(35) NOT NULL default '', > > `sondage` tinyint(1) NOT NULL default '0', > > `next` int(10) NOT NULL default '0', > > `prev` int(10) NOT NULL default '0', > > `subcat` mediumint(8) unsigned NOT NULL default '0', > > PRIMARY KEY (`numeropost`), > > KEY `date` (`date`), > > KEY `maxnumrep` (`maxnumrep`), > > KEY `auteur` (`auteur`), > > KEY `sondage` (`sondage`), > > KEY `subcat` (`subcat`) > > ) TYPE=MyISAM; > > > > Query OK, 0 rows affected (0.01 sec) > > > > > > CREATE TABLE `t2` ( > > `mot` char(30) NOT NULL default '', > > `numreponse` int(10) unsigned NOT NULL default '0', > > PRIMARY KEY (`mot`,`numreponse`), > > KEY `numreponse` (`numreponse`) > > ) TYPE=MyISAM ROW_FORMAT=FIXED; > > > > Query OK, 0 rows affected (0.00 sec) > > > > CREATE TABLE `t3` ( > > `topic` mediumint(8) unsigned NOT NULL default '0', > > `date` datetime NOT NULL default '0000-00-00 00:00:00', > > `pseudo` char(35) NOT NULL default '', > > `numreponse` int(10) unsigned NOT NULL default '0', > > PRIMARY KEY (`date`,`numreponse`,`topic`), > > UNIQUE KEY `pseudo` (`pseudo`,`date`,`numreponse`,`topic`), > > UNIQUE KEY `numreponse` (`numreponse`), > > KEY `topic` (`topic`) > > ) TYPE=MyISAM ROW_FORMAT=FIXED; > > > > Query OK, 0 rows affected (0.00 sec) > > > > INSERT INTO t1 (titre) VALUES ('test'); > > > > Query OK, 1 row affected (0.00 sec) > > > > INSERT INTO t3 (topic,pseudo) VALUES (1,'joce'); > > > > Query OK, 1 row affected (0.00 sec) > > > > INSERT INTO t2 (mot) VALUES > > ('test'),('joce'),('ouee'); > > > > Query OK, 3 rows affected (0.02 sec) > > Records: 3 Duplicates: 0 Warnings: 0 > > > > mot numreponse topic date pseudo numreponse titre numeropost ouvert date > auteur icone nbrep maxnumrep vue lastauteur sondage next prev subcat > > test 0 1 0000-00-00 00:00:00 joce 0 test 1 1 0000-00-00 00:00:00 0 0 0 0 0 > 0 0 0 > > joce 0 1 0000-00-00 00:00:00 joce 0 test 1 1 0000-00-00 00:00:00 0 0 0 0 0 > 0 0 0 > > ouee 0 1 0000-00-00 00:00:00 joce 0 test 1 1 0000-00-00 00:00:00 0 0 0 0 0 > 0 0 0 > > > > > > > > DELETE FROM t2,t3 USING t2 as a,t3 as > > b,t1 as c WHERE b.numreponse=a.numreponse AND > > b.topic=c.numeropost AND c.date<'2002-05-30'; > > > > Query OK, 4 rows affected (0.01 sec) > > > > SELECT * FROM t2 as > > a,t3 as b,t1 as c WHERE > > b.numreponse=a.numreponse AND b.topic=c.numeropost AND c.date<'2002-01-01' > > LIMIT 0,30; > > > > > > Empty set (0.00 sec) > > > > > > DELETE FROM t2,t3 USING > > t2 as a,t3 as > > b,t1 as c WHERE b.numreponse=a.numreponse AND > > b.topic=c.numeropost AND c.date<'2002-05-30'; > > > > Query OK, 0 rows affected (0.00 sec) > > > > > > drop database xx; > > > > Query OK, 0 rows affected (0.01 sec) > > > > mysql> quit > > > > > > -- > > Regards, > > __ ___ ___ ____ __ > > / |/ /_ __/ __/ __ \/ / Mr. Sinisa Milivojevic <[EMAIL PROTECTED]> > > / /|_/ / // /\ \/ /_/ / /__ MySQL AB, Fulltime Developer > > /_/ /_/\_, /___/\___\_\___/ Larnaca, Cyprus > > <___/ www.mysql.com > > > > > > > > > --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php