mariadb/mysql-test/t/auto_increment.test
unknown 0fb88806e4 Merge with 4.0.17
BitKeeper/etc/logging_ok:
  auto-union
Build-tools/Do-compile:
  Auto merged
acinclude.m4:
  Auto merged
configure.in:
  Auto merged
dbug/dbug.c:
  Auto merged
include/config-win.h:
  Auto merged
include/my_base.h:
  Auto merged
include/my_global.h:
  Auto merged
include/my_pthread.h:
  Auto merged
include/my_sys.h:
  Auto merged
include/mysql.h:
  Auto merged
include/mysql_com.h:
  Auto merged
innobase/lock/lock0lock.c:
  Auto merged
innobase/row/row0ins.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/row/row0umod.c:
  Auto merged
innobase/row/row0upd.c:
  Auto merged
myisam/ft_boolean_search.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/mi_dbug.c:
  Auto merged
myisam/mi_open.c:
  Auto merged
mysql-test/r/auto_increment.result:
  Auto merged
mysql-test/r/bdb.result:
  Auto merged
mysql-test/r/func_op.result:
  Auto merged
Build-tools/Bootstrap:
  Merge with 4.0
client/mysql.cc:
  Merge with 4.0
client/mysqldump.c:
  Merge with 4.0
client/mysqltest.c:
  Use local version
innobase/btr/btr0cur.c:
  Merge with 4.0 (Heikki should check if we should remove btr_cur_update_sec_rec_in_place()
libmysql/libmysql.c:
  Merge with 4.0
libmysqld/lib_sql.cc:
  Merge with 4.0
myisam/mi_key.c:
  Merge with 4.0
myisam/mi_search.c:
  Merge with 4.0
mysql-test/r/binary.result:
  Merge with 4.0
mysql-test/r/func_group.result:
  Merge with 4.0
mysql-test/r/func_str.result:
  Merge with 4.0
mysql-test/r/func_time.result:
  Merge with 4.0
mysql-test/r/group_by.result:
  Merge with 4.0
mysql-test/r/handler.result:
  Merge with 4.0
mysql-test/r/innodb.result:
  Merge with 4.0
mysql-test/r/insert.result:
  Merge with 4.0
mysql-test/r/join_outer.result:
  Merge with 4.0
mysql-test/r/loaddata.result:
  Merge with 4.0
mysql-test/r/lowercase_table.result:
  Merge with 4.0
mysql-test/r/multi_update.result:
  Merge with 4.0
mysql-test/r/mysqldump.result:
  Merge with 4.0
mysql-test/r/query_cache.result:
  Merge with 4.0
mysql-test/r/rpl_max_relay_size.result:
  Merge with 4.0
mysql-test/r/rpl_rotate_logs.result:
  Merge with 4.0
mysql-test/r/rpl_trunc_binlog.result:
  Merge with 4.0
mysql-test/r/select_found.result:
  Merge with 4.0
mysql-test/r/symlink.result:
  Merge with 4.0
mysql-test/r/truncate.result:
  Merge with 4.0
mysql-test/r/type_blob.result:
  Merge with 4.0
mysql-test/r/type_datetime.result:
  Merge with 4.0
mysql-test/r/type_decimal.result:
  Merge with 4.0
mysql-test/r/type_enum.result:
  Merge with 4.0
mysql-test/r/type_timestamp.result:
  Merge with 4.0
mysql-test/r/union.result:
  Merge with 4.0
mysql-test/t/auto_increment.test:
  Merge with 4.0
mysql-test/t/bdb.test:
  Merge with 4.0
mysql-test/t/func_group.test:
  Merge with 4.0
mysql-test/t/func_op.test:
  Merge with 4.0
mysql-test/t/func_str.test:
  Merge with 4.0
mysql-test/t/func_time.test:
  Merge with 4.0
mysql-test/t/group_by.test:
  Merge with 4.0
mysql-test/t/handler.test:
  Merge with 4.0
mysql-test/t/innodb.test:
  Merge with 4.0
mysql-test/t/insert.test:
  Merge with 4.0
mysql-test/t/join_outer.test:
  Merge with 4.0
mysql-test/t/limit.test:
  Merge with 4.0
mysql-test/t/loaddata.test:
  Merge with 4.0
mysql-test/t/lowercase_table.test:
  Merge with 4.0
mysql-test/t/multi_update.test:
  Merge with 4.0
mysql-test/t/mysqldump.test:
  Merge with 4.0
mysql-test/t/query_cache.test:
  Merge with 4.0
mysql-test/t/rpl_log_pos.test:
  Merge with 4.0
mysql-test/t/rpl_max_relay_size.test:
  Merge with 4.0
mysql-test/t/rpl_rotate_logs.test:
  Merge with 4.0
mysql-test/t/rpl_trunc_binlog.test:
  Merge with 4.0
mysql-test/t/select_found.test:
  Merge with 4.0
mysql-test/t/symlink.test:
  Merge with 4.0
mysql-test/t/truncate.test:
  Merge with 4.0
mysql-test/t/type_blob.test:
  Merge with 4.0
mysql-test/t/type_datetime.test:
  Merge with 4.0
mysql-test/t/type_decimal.test:
  Merge with 4.0
mysql-test/t/type_enum.test:
  Merge with 4.0
mysql-test/t/type_timestamp.test:
  Merge with 4.0
mysql-test/t/union.test:
  Merge with 4.0
mysys/charset.c:
  Merge with 4.0
mysys/my_init.c:
  Merge with 4.0
mysys/my_symlink.c:
  Merge with 4.0
mysys/my_thr_init.c:
  Merge with 4.0
regex/reginit.c:
  Merge with 4.0
sql/field.cc:
  Change fix_datetime() to print errors
sql/field.h:
  Merge with 4.0
sql/ha_innodb.cc:
  Merge with 4.0
sql/item.cc:
  Merge with 4.0
sql/item.h:
  Merge with 4.0
sql/item_cmpfunc.cc:
  Merge with 4.0
sql/item_func.cc:
  Merge with 4.0
sql/item_func.h:
  Merge with 4.0
sql/item_strfunc.cc:
  Merge with 4.0
sql/item_strfunc.h:
  Merge with 4.0
sql/item_sum.cc:
  Merge with 4.0
sql/item_sum.h:
  Merge with 4.0
sql/item_timefunc.cc:
  Merge with 4.0
sql/lex.h:
  Merge with 4.0
sql/log.cc:
  Merge with 4.0
sql/log_event.cc:
  Merge with 4.0
sql/log_event.h:
  Merge with 4.0
sql/mysql_priv.h:
  Merge with 4.0
sql/mysqld.cc:
  Merge with 4.0
sql/nt_servc.cc:
  Merge with 4.0
sql/opt_range.cc:
  Merge with 4.0
sql/records.cc:
  Merge with 4.0
sql/repl_failsafe.cc:
  Merge with 4.0
sql/slave.cc:
  Merge with 4.0
sql/sql_acl.cc:
  Merge with 4.0
sql/sql_analyse.cc:
  Merge with 4.0
sql/sql_base.cc:
  Merge with 4.0
sql/sql_cache.cc:
  Merge with 4.0
sql/sql_class.h:
  Merge with 4.0
sql/sql_db.cc:
  Merge with 4.0
sql/sql_delete.cc:
  Merge with 4.0
sql/sql_insert.cc:
  Merge with 4.0
sql/sql_load.cc:
  Merge with 4.0
sql/sql_parse.cc:
  Merge with 4.0
sql/sql_rename.cc:
  Merge with 4.0
sql/sql_select.cc:
  Merge with 4.0
sql/sql_show.cc:
  Merge with 4.0
sql/sql_table.cc:
  Merge with 4.0
sql/sql_update.cc:
  Merge with 4.0
sql/sql_yacc.yy:
  Merge with 4.0
sql/table.cc:
  Merge with 4.0
sql/table.h:
  Merge with 4.0
sql/time.cc:
  Merge with 4.0
sql/uniques.cc:
  Merge with 4.0
strings/ctype-tis620.c:
  Merge with 4.0
strings/strto.c:
  Merge with 4.0
support-files/mysql.server.sh:
  Merge with 4.0
support-files/mysql.spec.sh:
  Merge with 4.0
2003-12-17 17:35:34 +02:00

162 lines
4.6 KiB
Text

#
# Test of auto_increment; The test for BDB tables is in bdb.test
#
--disable_warnings
drop table if exists t1;
--enable_warnings
SET SQL_WARNINGS=1;
create table t1 (a int not null auto_increment,b int, primary key (a)) engine=myisam auto_increment=3;
insert into t1 values (1,1),(NULL,3),(NULL,4);
delete from t1 where a=4;
insert into t1 values (NULL,5),(NULL,6);
select * from t1;
delete from t1 where a=6;
#show table status like "t1";
replace t1 values (3,1);
ALTER TABLE t1 add c int;
replace t1 values (3,3,3);
insert into t1 values (NULL,7,7);
update t1 set a=8,b=b+1,c=c+1 where a=7;
insert into t1 values (NULL,9,9);
select * from t1;
drop table t1;
create table t1 (
skey tinyint unsigned NOT NULL auto_increment PRIMARY KEY,
sval char(20)
);
insert into t1 values (NULL, "hello");
insert into t1 values (NULL, "hey");
select * from t1;
select _rowid,t1._rowid,skey,sval from t1;
drop table t1;
#
# Test auto_increment on sub key
#
create table t1 (a char(10) not null, b int not null auto_increment, primary key(a,b));
insert into t1 values ("a",1),("b",2),("a",2),("c",1);
insert into t1 values ("a",NULL),("b",NULL),("c",NULL),("e",NULL);
insert into t1 (a) values ("a"),("b"),("c"),("d");
insert into t1 (a) values ('k'),('d');
insert into t1 (a) values ("a");
insert into t1 values ("d",last_insert_id());
select * from t1;
drop table t1;
create table t1 (ordid int(8) not null auto_increment, ord varchar(50) not null, primary key (ordid), index(ord,ordid));
insert into t1 (ordid,ord) values (NULL,'sdj'),(NULL,'sdj');
select * from t1;
drop table t1;
create table t1 (ordid int(8) not null auto_increment, ord varchar(50) not null, primary key (ord,ordid));
insert into t1 values (NULL,'sdj'),(NULL,'sdj'),(NULL,"abc"),(NULL,'abc'),(NULL,'zzz'),(NULL,'sdj'),(NULL,'abc');
select * from t1;
drop table t1;
create table t1 (sid char(5), id int(2) NOT NULL auto_increment, key(sid, id));
create table t2 (sid char(20), id int(2));
insert into t2 values ('skr',NULL),('skr',NULL),('test',NULL);
insert into t1 select * from t2;
select * from t1;
drop table t1,t2;
#
# Test of auto_increment columns when they are set to 0
#
create table t1 (a int not null primary key auto_increment);
insert into t1 values (0);
update t1 set a=0;
select * from t1;
check table t1;
drop table t1;
#
# Test negative values (Bug #1366)
#
create table t1 (a int not null auto_increment primary key);
insert into t1 values (NULL);
insert into t1 values (-1);
select last_insert_id();
insert into t1 values (NULL);
select * from t1;
drop table t1;
create table t1 (a int not null auto_increment primary key) /*!41002 type=heap */;
insert into t1 values (NULL);
insert into t1 values (-1);
select last_insert_id();
insert into t1 values (NULL);
select * from t1;
drop table t1;
#
# last_insert_id() madness
#
create table t1 (i tinyint unsigned not null auto_increment primary key);
insert into t1 set i = 254;
insert into t1 set i = null;
select last_insert_id();
explain extended select last_insert_id();
--error 1062
insert into t1 set i = 254;
select last_insert_id();
--error 1062
insert into t1 set i = null;
select last_insert_id();
drop table t1;
create table t1 (i tinyint unsigned not null auto_increment, key (i));
insert into t1 set i = 254;
insert into t1 set i = null;
select last_insert_id();
insert into t1 set i = null;
select last_insert_id();
drop table t1;
create table t1 (i tinyint unsigned not null auto_increment primary key, b int, unique (b));
insert into t1 values (NULL, 10);
select last_insert_id();
insert into t1 values (NULL, 15);
select last_insert_id();
--error 1062
insert into t1 values (NULL, 10);
select last_insert_id();
drop table t1;
create table t1(a int auto_increment,b int null,primary key(a));
SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
insert into t1(a,b)values(NULL,1);
insert into t1(a,b)values(200,2);
insert into t1(a,b)values(0,3);
insert into t1(b)values(4);
insert into t1(b)values(5);
insert into t1(b)values(6);
insert into t1(b)values(7);
select * from t1 order by b;
delete from t1 where a=0;
update t1 set a=0 where b=5;
select * from t1 order by b;
delete from t1 where a=0;
update t1 set a=NULL where b=6;
update t1 set a=300 where b=7;
SET SQL_MODE='';
insert into t1(a,b)values(NULL,8);
insert into t1(a,b)values(400,9);
insert into t1(a,b)values(0,10);
insert into t1(b)values(11);
insert into t1(b)values(12);
insert into t1(b)values(13);
insert into t1(b)values(14);
select * from t1 order by b;
delete from t1 where a=0;
update t1 set a=0 where b=12;
select * from t1 order by b;
delete from t1 where a=0;
update t1 set a=NULL where b=13;
update t1 set a=500 where b=14;
select * from t1 order by b;
drop table t1;