insert.test
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:5k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. #
  2. # Test of refering to old values
  3. #
  4. --disable_warnings
  5. drop table if exists t1,t2;
  6. --enable_warnings
  7. create table t1 (a int not null);
  8. insert into t1 values (1);
  9. insert into t1 values (a+2);
  10. insert into t1 values (a+3);
  11. insert into t1 values (4),(a+5);
  12. select * from t1;
  13. drop table t1;
  14. #
  15. # Test of duplicate key values with packed keys
  16. #
  17. create table t1 (id int not null auto_increment primary key, username varchar(32) not null, unique (username));
  18. insert into t1 values (0,"mysql");
  19. insert into t1 values (0,"mysql ab");
  20. insert into t1 values (0,"mysql a");
  21. insert into t1 values (0,"r1manic");
  22. insert into t1 values (0,"r1man");
  23. drop table t1;
  24. #
  25. # Test insert syntax
  26. #
  27. create table t1 (a int not null auto_increment, primary key (a), t timestamp, c char(10) default "hello", i int);
  28. insert into t1 values (default,default,default,default), (default,default,default,default), (4,0,"a",5),(default,default,default,default);
  29. select a,t>0,c,i from t1;
  30. truncate table t1;
  31. insert into t1 set a=default,t=default,c=default;
  32. insert into t1 set a=default,t=default,c=default,i=default;
  33. insert into t1 set a=4,t=0,c="a",i=5;
  34. insert into t1 set a=5,t=0,c="a",i=null;
  35. insert into t1 set a=default,t=default,c=default,i=default;
  36. select a,t>0,c,i from t1;
  37. drop table t1;
  38. #
  39. # Test problem with bulk insert and auto_increment on second part keys
  40. #
  41. create table t1 (sid char(20), id int(2) NOT NULL auto_increment, key(sid, id));
  42. insert into t1 values ('skr',NULL),('skr',NULL),('test',NULL);
  43. select * from t1;
  44. insert into t1 values ('rts',NULL),('rts',NULL),('test',NULL);
  45. select * from t1;
  46. drop table t1;
  47. #
  48. #Test of behaviour with INSERT VALUES (NULL)
  49. #
  50. create table t1 (id int NOT NULL DEFAULT 8);
  51. -- error 1048
  52. insert into t1 values(NULL);
  53. insert into t1 values (1), (NULL), (2);
  54. select * from t1;
  55. drop table t1;
  56. #
  57. # Test if insert ... select distinct
  58. #
  59. create table t1 (email varchar(50));
  60. insert into t1 values ('sasha@mysql.com'),('monty@mysql.com'),('foo@hotmail.com'),('foo@aol.com'),('bar@aol.com');
  61. create table t2(id int not null auto_increment primary key, t2 varchar(50), unique(t2));
  62. insert delayed into t2 (t2) select distinct substring(email, locate('@', email)+1) from t1;
  63. select * from t2;
  64. drop table t1,t2;
  65. #
  66. # Test of mysqld crash with fully qualified column names
  67. #
  68. --disable_warnings
  69. drop database if exists mysqltest;
  70. --enable_warnings
  71. create database mysqltest;
  72. use mysqltest;
  73. create table t1 (c int);
  74. insert into mysqltest.t1 set mysqltest.t1.c = '1';
  75. drop database mysqltest;
  76. #
  77. # Test of wrong values for float data (bug #2082)
  78. #
  79. # PS gives sligthly different numbers for max-float/max-double
  80. --disable_ps_protocol
  81. use test;
  82. create table t1(number int auto_increment primary key, original_value varchar(50), f_double double, f_float float, f_double_7_2 double(7,2), f_float_4_3 float (4,3), f_double_u double unsigned, f_float_u float unsigned, f_double_15_1_u double(15,1) unsigned, f_float_3_1_u float (3,1) unsigned);
  83. set @value= "aa";
  84. insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
  85. --replace_result e-0 e- e+0 e+
  86. --query_vertical select * from t1 where number =last_insert_id()
  87. set @value= "1aa";
  88. insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
  89. --replace_result e-0 e- e+0 e+
  90. --query_vertical select * from t1 where number =last_insert_id()
  91. set @value= "aa1";
  92. insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
  93. --replace_result e-0 e- e+0 e+
  94. --query_vertical select * from t1 where number =last_insert_id()
  95. set @value= "1e+1111111111a";
  96. insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
  97. --replace_result e-0 e- e+0 e+
  98. --query_vertical select * from t1 where number =last_insert_id()
  99. set @value= "-1e+1111111111a";
  100. insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
  101. --replace_result e-0 e- e+0 e+
  102. --query_vertical select * from t1 where number =last_insert_id()
  103. set @value= 1e+1111111111;
  104. insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
  105. --replace_result e-0 e- e+0 e+
  106. --query_vertical select * from t1 where number =last_insert_id()
  107. set @value= -1e+1111111111;
  108. insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
  109. --replace_result e-0 e- e+0 e+
  110. --query_vertical select * from t1 where number =last_insert_id()
  111. set @value= 1e+111;
  112. insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
  113. --replace_result e-0 e- e+0 e+
  114. --query_vertical select * from t1 where number =last_insert_id()
  115. set @value= -1e+111;
  116. insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
  117. --replace_result e-0 e- e+0 e+
  118. --query_vertical select * from t1 where number =last_insert_id()
  119. set @value= 1;
  120. insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
  121. --replace_result e-0 e- e+0 e+
  122. --query_vertical select * from t1 where number =last_insert_id()
  123. set @value= -1;
  124. insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
  125. --replace_result e-0 e- e+0 e+
  126. --query_vertical select * from t1 where number =last_insert_id()
  127. drop table t1;
  128. --enable_ps_protocol
  129. # End of 4.1 tests