Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/server/mysql/mysql-test/t/ |
Upload File : |
--echo # --echo # Bug#27182010 SUBQUERY INCORRECTLY SHOWS DUPLICATE VALUES ON SUBQUERIES --echo # CREATE TABLE p (Id INT,PRIMARY KEY (Id)); INSERT INTO p VALUES (1); --echo # Test UNIQUE KEY with NULL values CREATE TABLE s (Id INT, u INT, UNIQUE KEY o(Id, u) ); INSERT INTO s VALUES (1, NULL),(1, NULL); let query1= SELECT p.Id FROM (p) WHERE p.Id IN ( SELECT s.Id FROM s WHERE Id=1 AND u IS NULL)ORDER BY Id DESC; let query2= SELECT p.Id FROM (p) WHERE p.Id IN ( SELECT s.Id FROM s WHERE Id=1 AND u IS NOT NULL) ORDER BY Id DESC; eval EXPLAIN $query1; eval EXPLAIN $query2; eval $query1; eval $query2; --echo # UNIQUE KEY without NULL values CREATE TABLE s1 (Id INT, u INT, UNIQUE KEY o(Id, u) ); INSERT INTO s1 VALUES (1, 2),(1, 3); let query3= SELECT p.Id FROM (p) WHERE p.Id IN ( SELECT s1.Id FROM s1 WHERE Id=1 AND u IS NOT NULL) ORDER BY Id DESC; let query4= SELECT p.Id FROM (p) WHERE p.Id IN ( SELECT s1.Id FROM s1 WHERE Id=1 AND u != 1) ORDER BY Id DESC; eval EXPLAIN $query3; eval EXPLAIN $query4; eval $query3; eval $query4; --echo # NON UNIQUE KEY Scenario CREATE TABLE s2 (Id INT, u INT, KEY o(Id, u) ); INSERT INTO s2 VALUES (1, NULL),(1, NULL); let query5= SELECT p.Id FROM (p) WHERE p.Id IN ( SELECT s.Id FROM s2 s WHERE Id=1 AND u IS NULL) ORDER BY Id DESC; --echo #UNIQUE KEY with NON NULL FIELDS CREATE TABLE s3 (Id INT NOT NULL, u INT NOT NULL, UNIQUE KEY o(Id, u)); INSERT INTO s3 VALUES (1, 2),(1, 3); let query6= SELECT p.Id FROM (p) WHERE p.Id IN ( SELECT s.Id FROM s3 s WHERE Id=1 AND u IS NOT NULL) ORDER BY Id DESC; eval EXPLAIN $query5; eval EXPLAIN $query6; eval $query5; eval $query6; DROP TABLE p, s, s1, s2, s3;