# # Test of refering to old values # drop table if exists t1,t2; create table t1 (a int not null); insert into t1 values (1); insert into t1 values (a+2); insert into t1 values (a+3); insert into t1 values (4),(a+5); select * from t1; drop table t1; # # Test of duplicate key values with packed keys # create table t1 (id int not null auto_increment primary key, username varchar(32) not null, unique (username)); insert into t1 values (0,"mysql"); insert into t1 values (0,"mysql ab"); insert into t1 values (0,"mysql a"); insert into t1 values (0,"r1manic"); insert into t1 values (0,"r1man"); drop table t1; # # Test insert syntax # create table t1 (a int not null auto_increment, primary key (a), t timestamp, c char(10) default "hello", i int); insert into t1 values (default,default,default,default), (default,default,default,default), (4,0,"a",5),(default,default,default,default); select a,t>0,c,i from t1; truncate table t1; insert into t1 set a=default,t=default,c=default; insert into t1 set a=default,t=default,c=default,i=default; insert into t1 set a=4,t=0,c="a",i=5; insert into t1 set a=5,t=0,c="a",i=null; insert into t1 set a=default,t=default,c=default,i=default; select a,t>0,c,i from t1; drop table t1; # # Test problem with bulk insert and auto_increment on second part keys # create table t1 (sid char(20), id int(2) NOT NULL auto_increment, key(sid, id)); insert into t1 values ('skr',NULL),('skr',NULL),('test',NULL); select * from t1; insert into t1 values ('rts',NULL),('rts',NULL),('test',NULL); select * from t1; drop table t1; # #Test of behaviour with INSERT VALUES (NULL) # create table t1 (id int NOT NULL DEFAULT 8); -- error 1048 insert into t1 values(NULL); insert into t1 values (1), (NULL), (2); select * from t1; drop table t1; # # Test if insert ... select distinct # create table t1 (email varchar(50)); insert into t1 values ('sasha@mysql.com'),('monty@mysql.com'),('foo@hotmail.com'),('foo@aol.com'),('bar@aol.com'); create table t2(id int not null auto_increment primary key, t2 varchar(50), unique(t2)); insert delayed into t2 (t2) select distinct substring(email, locate('@', email)+1) from t1; select * from t2; drop table t1,t2; # # Test of mysqld crash with fully qualified column names # --disable_warnings drop database if exists mysqltest; --enable_warnings create database mysqltest; use mysqltest; create table t1 (c int); insert into mysqltest.t1 set mysqltest.t1.c = '1'; drop database mysqltest;