mariadb/mysql-test/t/null_key.test
unknown 80ec807976 WorkLog#1323
Deprecate the use of TYPE=... Preferred syntax is ENGINE=


include/mysqld_error.h:
  New warning for deprecated syntax
sql/lex.h:
  Introduce ENGINE keyword
  Sort order of symbols
sql/share/czech/errmsg.txt:
  New warning for deprecated syntax
sql/share/danish/errmsg.txt:
  New warning for deprecated syntax
sql/share/dutch/errmsg.txt:
  New warning for deprecated syntax
sql/share/english/errmsg.txt:
  New warning for deprecated syntax
sql/share/estonian/errmsg.txt:
  New warning for deprecated syntax
sql/share/french/errmsg.txt:
  New warning for deprecated syntax
sql/share/german/errmsg.txt:
  New warning for deprecated syntax
sql/share/greek/errmsg.txt:
  New warning for deprecated syntax
sql/share/hungarian/errmsg.txt:
  New warning for deprecated syntax
sql/share/italian/errmsg.txt:
  New warning for deprecated syntax
sql/share/japanese/errmsg.txt:
  New warning for deprecated syntax
sql/share/korean/errmsg.txt:
  New warning for deprecated syntax
sql/share/norwegian-ny/errmsg.txt:
  New warning for deprecated syntax
sql/share/norwegian/errmsg.txt:
  New warning for deprecated syntax
sql/share/polish/errmsg.txt:
  New warning for deprecated syntax
sql/share/portuguese/errmsg.txt:
  New warning for deprecated syntax
sql/share/romanian/errmsg.txt:
  New warning for deprecated syntax
sql/share/russian/errmsg.txt:
  New warning for deprecated syntax
sql/share/serbian/errmsg.txt:
  New warning for deprecated syntax
sql/share/slovak/errmsg.txt:
  New warning for deprecated syntax
sql/share/spanish/errmsg.txt:
  New warning for deprecated syntax
sql/share/swedish/errmsg.txt:
  New warning for deprecated syntax
sql/share/ukrainian/errmsg.txt:
  New warning for deprecated syntax
sql/sql_show.cc:
  Change TYPE= with ENGINE=
sql/sql_yacc.yy:
  Introduce ENGINE keyword,
  Deprecate TYPE= syntax,
  Introduce SHOW ENGINE syntax,
  Deprecate SHOW INNODB/BDB syntax.
mysql-test/r/alias.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/alter_table.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/auto_increment.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/bdb-alter-table-1.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/bdb-crash.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/bdb-deadlock.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/bdb.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/bdb_cache.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/case.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/cast.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/constraints.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/create.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/ctype_collate.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/ctype_latin1_de.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/ctype_many.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/ctype_mb.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/ctype_recoding.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/ctype_ucs.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/delete.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/distinct.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/fulltext.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/fulltext2.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/fulltext_distinct.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/fulltext_left_join.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/func_compress.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/func_date_add.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/func_group.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/func_if.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/func_str.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/func_system.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/func_test.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/func_time.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/gis-rtree.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/group_by.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/handler.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/heap.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/heap_auto_increment.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/heap_btree.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/heap_hash.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/help.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/innodb-deadlock.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/innodb.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/innodb_cache.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/innodb_handler.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/insert_select.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/isam.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/join.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/join_crash.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/join_outer.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/key.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/lock.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/lock_tables_lost_commit.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/merge.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/mix_innodb_myisam_binlog.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/multi_update.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/myisam.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/null.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/null_key.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/order_by.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/query_cache.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/range.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/repair_part1.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/replace.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/rollback.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/rpl000006.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/rpl_flush_tables.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/rpl_insert_id.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/rpl_relayrotate.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/select.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/select_found.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/show_check.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/sql_mode.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/status.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/subselect.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/subselect2.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/subselect_innodb.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/symlink.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/temp_table.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/type_blob.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/type_datetime.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/type_enum.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/type_nchar.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/type_set.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/union.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/update.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/warnings.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/alias.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/alter_table.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/auto_increment.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/bdb-alter-table-1.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/bdb-crash.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/bdb-deadlock.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/bdb.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/bdb_cache.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/create.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/ctype_ucs.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/delete.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/distinct.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/fulltext.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/fulltext2.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/fulltext_distinct.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/fulltext_left_join.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/func_compress.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/func_date_add.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/func_group.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/func_if.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/func_str.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/func_test.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/func_time.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/gis-rtree.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/group_by.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/handler.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/heap.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/heap_auto_increment.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/heap_btree.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/heap_hash.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/help.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/innodb-deadlock.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/innodb.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/innodb_cache.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/innodb_handler.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/insert_select.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/isam.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/join.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/join_crash.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/join_outer.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/key.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/lock.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/lock_tables_lost_commit.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/merge.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/mix_innodb_myisam_binlog.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/multi_update.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/myisam.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/null.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/null_key.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/order_by.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/outfile.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/query_cache.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/query_cache_merge.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/range.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/repair_part1.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/replace.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/rollback.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/rpl000006.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/rpl_flush_tables.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/rpl_insert_id.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/rpl_relayrotate.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/select.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/select_found.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/show_check.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/sql_mode.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/status.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/subselect.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/subselect2.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/subselect_innodb.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/symlink.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/temp_table.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/type_datetime.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/type_set.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/union.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/update.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/warnings.test:
  Change occurances of TYPE= to ENGINE=
  New test for deprecated syntax
2003-12-10 04:31:42 +00:00

193 lines
7.2 KiB
Text

#
# Check null keys
--disable_warnings
drop table if exists t1,t2;
--enable_warnings
create table t1 (a int, b int not null,unique key (a,b),index(b)) engine=myisam;
insert ignore into t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(null,7),(9,9),(8,8),(7,7),(null,9),(null,9),(6,6);
explain select * from t1 where a is null;
explain select * from t1 where a is null and b = 2;
explain select * from t1 where a is null and b = 7;
explain select * from t1 where a=2 and b = 2;
explain select * from t1 where a<=>b limit 2;
explain select * from t1 where (a is null or a > 0 and a < 3) and b < 5 limit 3;
explain select * from t1 where (a is null or a = 7) and b=7;
explain select * from t1 where (a is null or a = 7) and b=7 order by a;
explain select * from t1 where (a is null and b>a) or a is null and b=7 limit 2;
explain select * from t1 where a is null and b=9 or a is null and b=7 limit 3;
explain select * from t1 where a > 1 and a < 3 limit 1;
explain select * from t1 where a > 8 and a < 9;
select * from t1 where a is null;
select * from t1 where a is null and b = 7;
select * from t1 where a<=>b limit 2;
select * from t1 where (a is null or a > 0 and a < 3) and b < 5 limit 3;
select * from t1 where (a is null or a > 0 and a < 3) and b > 7 limit 3;
select * from t1 where (a is null or a = 7) and b=7;
select * from t1 where a is null and b=9 or a is null and b=7 limit 3;
create table t2 like t1;
insert into t2 select * from t1;
alter table t1 modify b blob not null, add c int not null, drop key a, add unique key (a,b(20),c), drop key b, add key (b(10));
explain select * from t1 where a is null and b = 2;
explain select * from t1 where a is null and b = 2 and c=0;
explain select * from t1 where a is null and b = 7 and c=0;
explain select * from t1 where a=2 and b = 2;
explain select * from t1 where a<=>b limit 2;
explain select * from t1 where (a is null or a > 0 and a < 3) and b < 5 and c=0 limit 3;
explain select * from t1 where (a is null or a = 7) and b=7 and c=0;
explain select * from t1 where (a is null and b>a) or a is null and b=7 limit 2;
explain select * from t1 where a is null and b=9 or a is null and b=7 limit 3;
explain select * from t1 where a > 1 and a < 3 limit 1;
explain select * from t1 where a is null and b=7 or a > 1 and a < 3 limit 1;
explain select * from t1 where a > 8 and a < 9;
explain select * from t1 where b like "6%";
select * from t1 where a is null;
select * from t1 where a is null and b = 7 and c=0;
select * from t1 where a<=>b limit 2;
select * from t1 where (a is null or a > 0 and a < 3) and b < 5 limit 3;
select * from t1 where (a is null or a > 0 and a < 3) and b > 7 limit 3;
select * from t1 where (a is null or a = 7) and b=7 and c=0;
select * from t1 where a is null and b=9 or a is null and b=7 limit 3;
select * from t1 where b like "6%";
#
# Test ref_or_null optimization
#
drop table t1;
rename table t2 to t1;
alter table t1 modify b int null;
insert into t1 values (7,null), (8,null), (8,7);
explain select * from t1 where a = 7 and (b=7 or b is null);
select * from t1 where a = 7 and (b=7 or b is null);
explain select * from t1 where (a = 7 or a is null) and (b=7 or b is null);
select * from t1 where (a = 7 or a is null) and (b=7 or b is null);
explain select * from t1 where (a = 7 or a is null) and (a = 7 or a is null);
select * from t1 where (a = 7 or a is null) and (a = 7 or a is null);
create table t2 (a int);
insert into t2 values (7),(8);
explain select * from t2 straight_join t1 where t1.a=t2.a and b is null;
drop index b on t1;
explain select * from t2,t1 where t1.a=t2.a and b is null;
select * from t2,t1 where t1.a=t2.a and b is null;
explain select * from t2,t1 where t1.a=t2.a and (b= 7 or b is null);
select * from t2,t1 where t1.a=t2.a and (b= 7 or b is null);
explain select * from t2,t1 where (t1.a=t2.a or t1.a is null) and b= 7;
select * from t2,t1 where (t1.a=t2.a or t1.a is null) and b= 7;
explain select * from t2,t1 where (t1.a=t2.a or t1.a is null) and (b= 7 or b is null);
select * from t2,t1 where (t1.a=t2.a or t1.a is null) and (b= 7 or b is null);
insert into t2 values (null),(6);
delete from t1 where a=8;
explain select * from t2,t1 where t1.a=t2.a or t1.a is null;
explain select * from t2,t1 where t1.a<=>t2.a or (t1.a is null and t1.b <> 9);
select * from t2,t1 where t1.a<=>t2.a or (t1.a is null and t1.b <> 9);
drop table t1,t2;
#
# The following failed for Matt Loschert
#
CREATE TABLE t1 (
id int(10) unsigned NOT NULL auto_increment,
uniq_id int(10) unsigned default NULL,
PRIMARY KEY (id),
UNIQUE KEY idx1 (uniq_id)
) ENGINE=MyISAM;
CREATE TABLE t2 (
id int(10) unsigned NOT NULL auto_increment,
uniq_id int(10) unsigned default NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM;
INSERT INTO t1 VALUES (1,NULL),(2,NULL),(3,1),(4,2),(5,NULL),(6,NULL),(7,3),(8,4),(9,NULL),(10,NULL);
INSERT INTO t2 VALUES (1,NULL),(2,NULL),(3,1),(4,2),(5,NULL),(6,NULL),(7,3),(8,4),(9,NULL),(10,NULL);
#
# Check IS NULL optimization
#
explain select id from t1 where uniq_id is null;
explain select id from t1 where uniq_id =1;
#
# Check updates
#
UPDATE t1 SET id=id+100 where uniq_id is null;
UPDATE t2 SET id=id+100 where uniq_id is null;
select id from t1 where uniq_id is null;
select id from t2 where uniq_id is null;
#
# Delete all records from each table where the uniq_id field is null
#
DELETE FROM t1 WHERE uniq_id IS NULL;
DELETE FROM t2 WHERE uniq_id IS NULL;
#
# Select what is left -- notice the difference
#
SELECT * FROM t1 ORDER BY uniq_id, id;
SELECT * FROM t2 ORDER BY uniq_id, id;
DROP table t1,t2;
#
# This crashed MySQL 3.23.47
#
CREATE TABLE `t1` (
`order_id` char(32) NOT NULL default '',
`product_id` char(32) NOT NULL default '',
`product_type` int(11) NOT NULL default '0',
PRIMARY KEY (`order_id`,`product_id`,`product_type`)
) ENGINE=MyISAM;
CREATE TABLE `t2` (
`order_id` char(32) NOT NULL default '',
`product_id` char(32) NOT NULL default '',
`product_type` int(11) NOT NULL default '0',
PRIMARY KEY (`order_id`,`product_id`,`product_type`)
) ENGINE=MyISAM;
INSERT INTO t1 (order_id, product_id, product_type) VALUES
('3d7ce39b5d4b3e3d22aaafe9b633de51',1206029, 3),
('3d7ce39b5d4b3e3d22aaafe9b633de51',5880836, 3),
('9d9aad7764b5b2c53004348ef8d34500',2315652, 3);
INSERT INTO t2 (order_id, product_id, product_type) VALUES
('9d9aad7764b5b2c53004348ef8d34500',2315652, 3);
select t1.* from t1
left join t2 using(order_id, product_id, product_type)
where t2.order_id=NULL;
select t1.* from t1
left join t2 using(order_id, product_id, product_type)
where t2.order_id is NULL;
drop table t1,t2;
#
# The last select returned wrong results in 3.23.52
#
create table t1 (id int);
insert into t1 values (null), (0);
create table t2 (id int);
insert into t2 values (null);
select * from t1, t2 where t1.id = t2.id;
alter table t1 add key id (id);
select * from t1, t2 where t1.id = t2.id;
drop table t1,t2;
#
# Check bug when doing <=> NULL on an indexed null field
#
create table t1 (
id integer,
id2 integer not null,
index (id),
index (id2)
);
insert into t1 values(null,null),(1,1);
select * from t1;
select * from t1 where id <=> null;
select * from t1 where id <=> null or id > 0;
select * from t1 where id is null or id > 0;
select * from t1 where id2 <=> null or id2 > 0;
select * from t1 where id2 is null or id2 > 0;
delete from t1 where id <=> NULL;
select * from t1;
drop table t1;