--disable_warnings drop table if exists t1,t2; --enable_warnings create table t1(str varchar(10) default 'def',strnull varchar(10),intg int default '10',rel double default '3.14'); insert into t1 values ('','',0,0.0); select default(str), default(strnull), default(intg), default(rel) from t1; explain extended select default(str), default(strnull), default(intg), default(rel) from t1; select * from t1 where str <> default(str); explain select * from t1 where str <> default(str); #TODO: uncomment when bug will be fixed #create table t2 select default(str), default(strnull), default(intg), default(rel) from t1; #show create table from t1; #insert into t2 select select default(str), default(strnull), default(intg), default(rel) from t1; drop table t1;