~ubuntu-branches/ubuntu/trusty/drizzle/trusty

« back to all changes in this revision

Viewing changes to tests/r/pbxt/auto_increment.result

  • Committer: Bazaar Package Importer
  • Author(s): Monty Taylor
  • Date: 2010-11-12 12:26:01 UTC
  • mfrom: (1.1.1 upstream)
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: james.westby@ubuntu.com-20101112122601-myppfj3tfmlkccuq
Tags: upstream-2010.11.03
ImportĀ upstreamĀ versionĀ 2010.11.03

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
drop table if exists t1;
 
2
drop table if exists t2;
 
3
SET SQL_WARNINGS=1;
 
4
create TEMPORARY table t1 (a int not null auto_increment,b int, primary key (a)) engine=myisam auto_increment=3;
 
5
insert into t1 values (1,1),(NULL,3),(NULL,4);
 
6
delete from t1 where a=4;
 
7
insert into t1 values (NULL,5),(NULL,6);
 
8
select * from t1;
 
9
a       b
 
10
1       1
 
11
3       3
 
12
5       5
 
13
6       6
 
14
delete from t1 where a=6;
 
15
show table status like "t1";
 
16
Session Schema  Name    Type    Engine  Version Rows    Avg_row_length  Table_size      Auto_increment
 
17
#       test    t1      TEMPORARY       MyISAM  #       #       #       #       #
 
18
replace t1 values (3,1);
 
19
ALTER TABLE t1 add c int;
 
20
replace t1 values (3,3,3);
 
21
insert into t1 values (NULL,7,7);
 
22
update t1 set a=8,b=b+1,c=c+1 where a=7;
 
23
insert into t1 values (NULL,9,9);
 
24
select * from t1;
 
25
a       b       c
 
26
1       1       NULL
 
27
3       3       3
 
28
5       5       NULL
 
29
8       8       8
 
30
9       9       9
 
31
drop table t1;
 
32
create table t1 (
 
33
skey int NOT NULL auto_increment PRIMARY KEY,
 
34
sval char(20)
 
35
);
 
36
insert into t1 values (NULL, "hello");
 
37
insert into t1 values (NULL, "hey");
 
38
select * from t1;
 
39
skey    sval
 
40
1       hello
 
41
2       hey
 
42
select _rowid,t1._rowid,skey,sval from t1;
 
43
_rowid  _rowid  skey    sval
 
44
1       1       1       hello
 
45
2       2       2       hey
 
46
drop table t1;
 
47
create table t1 (a int not null primary key auto_increment);
 
48
insert into t1 values (0);
 
49
update t1 set a=0;
 
50
select * from t1;
 
51
a
 
52
0
 
53
check table t1;
 
54
Table   Op      Msg_type        Msg_text
 
55
test.t1 check   status  OK
 
56
drop table t1;
 
57
create table t1 (a int not null auto_increment primary key);
 
58
insert into t1 values (NULL);
 
59
insert into t1 values (-1);
 
60
select last_insert_id();
 
61
last_insert_id()
 
62
1
 
63
insert into t1 values (NULL);
 
64
select * from t1;
 
65
a
 
66
1
 
67
-1
 
68
2
 
69
drop table t1;
 
70
create temporary table t1 (a int not null auto_increment primary key) /*!40102 engine=MEMORY */;
 
71
insert into t1 values (NULL);
 
72
insert into t1 values (-1);
 
73
select last_insert_id();
 
74
last_insert_id()
 
75
1
 
76
insert into t1 values (NULL);
 
77
select * from t1;
 
78
a
 
79
1
 
80
-1
 
81
2
 
82
drop table t1;
 
83
create table t1 (i int not null auto_increment, key (i));
 
84
insert into t1 set i = 254;
 
85
insert into t1 set i = null;
 
86
select last_insert_id();
 
87
last_insert_id()
 
88
255
 
89
insert into t1 set i = null;
 
90
select last_insert_id();
 
91
last_insert_id()
 
92
256
 
93
drop table t1;
 
94
create table t1 (i int not null auto_increment primary key, b int, unique (b));
 
95
insert into t1 values (NULL, 10);
 
96
select last_insert_id();
 
97
last_insert_id()
 
98
1
 
99
insert into t1 values (NULL, 15);
 
100
select last_insert_id();
 
101
last_insert_id()
 
102
2
 
103
insert into t1 values (NULL, 10);
 
104
ERROR 23000: Duplicate entry '10' for key 'b'
 
105
select last_insert_id();
 
106
last_insert_id()
 
107
2
 
108
drop table t1;
 
109
create table t1(a int auto_increment,b int null,primary key(a));
 
110
insert into t1(a,b)values(NULL,1);
 
111
insert into t1(a,b)values(200,2);
 
112
insert into t1(a,b)values(0,3);
 
113
insert into t1(b)values(4);
 
114
insert into t1(b)values(5);
 
115
insert into t1(b)values(6);
 
116
insert into t1(b)values(7);
 
117
select * from t1 order by b;
 
118
a       b
 
119
1       1
 
120
200     2
 
121
0       3
 
122
201     4
 
123
202     5
 
124
203     6
 
125
204     7
 
126
alter table t1 modify b int;
 
127
select * from t1 order by b;
 
128
a       b
 
129
1       1
 
130
200     2
 
131
0       3
 
132
201     4
 
133
202     5
 
134
203     6
 
135
204     7
 
136
create table t2 (a int);
 
137
insert t2 values (1),(2);
 
138
alter table t2 add b int auto_increment primary key;
 
139
select * from t2;
 
140
a       b
 
141
1       1
 
142
2       2
 
143
drop table t2;
 
144
delete from t1 where a=0;
 
145
update t1 set a=0 where b=5;
 
146
select * from t1 order by b;
 
147
a       b
 
148
1       1
 
149
200     2
 
150
201     4
 
151
0       5
 
152
203     6
 
153
204     7
 
154
delete from t1 where a=0;
 
155
update t1 set a=NULL where b=6;
 
156
ERROR 23000: Column 'a' cannot be null
 
157
update t1 set a=300 where b=7;
 
158
insert into t1(a,b)values(NULL,8);
 
159
insert into t1(a,b)values(400,9);
 
160
insert into t1(a,b)values(0,10);
 
161
insert into t1(b)values(11);
 
162
insert into t1(b)values(12);
 
163
insert into t1(b)values(13);
 
164
insert into t1(b)values(14);
 
165
select * from t1 order by b;
 
166
a       b
 
167
1       1
 
168
200     2
 
169
201     4
 
170
203     6
 
171
300     7
 
172
301     8
 
173
400     9
 
174
0       10
 
175
401     11
 
176
402     12
 
177
403     13
 
178
404     14
 
179
delete from t1 where a=0;
 
180
update t1 set a=0 where b=12;
 
181
select * from t1 order by b;
 
182
a       b
 
183
1       1
 
184
200     2
 
185
201     4
 
186
203     6
 
187
300     7
 
188
301     8
 
189
400     9
 
190
401     11
 
191
0       12
 
192
403     13
 
193
404     14
 
194
delete from t1 where a=0;
 
195
update t1 set a=NULL where b=13;
 
196
ERROR 23000: Column 'a' cannot be null
 
197
update t1 set a=500 where b=14;
 
198
select * from t1 order by b;
 
199
a       b
 
200
1       1
 
201
200     2
 
202
201     4
 
203
203     6
 
204
300     7
 
205
301     8
 
206
400     9
 
207
401     11
 
208
403     13
 
209
500     14
 
210
drop table t1;
 
211
create table t1 (a bigint);
 
212
insert into t1 values (1), (2), (3), (NULL), (NULL);
 
213
alter table t1 modify a bigint not null auto_increment primary key;
 
214
select * from t1;
 
215
a
 
216
1
 
217
2
 
218
3
 
219
4
 
220
5
 
221
drop table t1;
 
222
create table t1 (a bigint);
 
223
insert into t1 values (1), (2), (3), (0), (0);
 
224
alter table t1 modify a bigint not null auto_increment primary key;
 
225
ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
 
226
select * from t1;
 
227
a
 
228
1
 
229
2
 
230
3
 
231
0
 
232
0
 
233
drop table t1;
 
234
create table t1 (a bigint);
 
235
insert into t1 values (0), (1), (2), (3);
 
236
alter table t1 modify a bigint not null auto_increment primary key;
 
237
select * from t1;
 
238
a
 
239
0
 
240
1
 
241
2
 
242
3
 
243
drop table t1;
 
244
create table t1 (a int auto_increment primary key , b int null);
 
245
insert into t1 values (0,1),(1,2),(2,3);
 
246
select * from t1;
 
247
a       b
 
248
0       1
 
249
1       2
 
250
2       3
 
251
alter table t1 modify b varchar(255);
 
252
insert into t1 values (0,4);
 
253
ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
 
254
select * from t1;
 
255
a       b
 
256
0       1
 
257
1       2
 
258
2       3
 
259
drop table t1;
 
260
CREATE TABLE t1 ( a INT AUTO_INCREMENT, b BLOB, PRIMARY KEY (a,b(10)));
 
261
INSERT INTO t1 (b) VALUES ('aaaa');
 
262
CHECK TABLE t1;
 
263
Table   Op      Msg_type        Msg_text
 
264
test.t1 check   status  OK
 
265
INSERT INTO t1 (b) VALUES ('');
 
266
CHECK TABLE t1;
 
267
Table   Op      Msg_type        Msg_text
 
268
test.t1 check   status  OK
 
269
INSERT INTO t1 (b) VALUES ('bbbb');
 
270
CHECK TABLE t1;
 
271
Table   Op      Msg_type        Msg_text
 
272
test.t1 check   status  OK
 
273
DROP TABLE IF EXISTS t1;
 
274
CREATE TABLE t1 (
 
275
t1_name VARCHAR(255) DEFAULT NULL,
 
276
t1_id INT not null AUTO_INCREMENT,
 
277
KEY (t1_name),
 
278
PRIMARY KEY (t1_id)
 
279
) AUTO_INCREMENT = 1000;
 
280
INSERT INTO t1 (t1_name) VALUES('MySQL');
 
281
INSERT INTO t1 (t1_name) VALUES('MySQL');
 
282
INSERT INTO t1 (t1_name) VALUES('MySQL');
 
283
SELECT * from t1;
 
284
t1_name t1_id
 
285
MySQL   1000
 
286
MySQL   1001
 
287
MySQL   1002
 
288
SHOW CREATE TABLE `t1`;
 
289
Table   Create Table
 
290
t1      CREATE TABLE `t1` (
 
291
  `t1_name` VARCHAR(255) COLLATE utf8_general_ci DEFAULT NULL,
 
292
  `t1_id` INT NOT NULL AUTO_INCREMENT,
 
293
  PRIMARY KEY (`t1_id`),
 
294
  KEY `t1_name` (`t1_name`)
 
295
) ENGINE=PBXT COLLATE = utf8_general_ci AUTO_INCREMENT=1000
 
296
DROP TABLE `t1`;
 
297
create table t1(a int not null auto_increment primary key);
 
298
create table t2(a int not null auto_increment primary key, t1a int);
 
299
insert into t1 values(NULL);
 
300
insert into t2 values (NULL, LAST_INSERT_ID()), (NULL, LAST_INSERT_ID());
 
301
insert into t1 values (NULL);
 
302
insert into t2 values (NULL, LAST_INSERT_ID()), (NULL, LAST_INSERT_ID()),
 
303
(NULL, LAST_INSERT_ID());
 
304
insert into t1 values (NULL);
 
305
insert into t2 values (NULL, LAST_INSERT_ID()), (NULL, LAST_INSERT_ID()),
 
306
(NULL, LAST_INSERT_ID()), (NULL, LAST_INSERT_ID());
 
307
select * from t2;
 
308
a       t1a
 
309
1       1
 
310
2       1
 
311
3       2
 
312
4       2
 
313
5       2
 
314
6       3
 
315
7       3
 
316
8       3
 
317
9       3
 
318
drop table t1, t2;
 
319
End of 4.1 tests
 
320
CREATE TABLE t1 ( `a` int NOT NULL auto_increment, `b` int default NULL,PRIMARY KEY  (`a`),UNIQUE KEY `b` (`b`));
 
321
insert into t1 (b) values (1);
 
322
replace into t1 (b) values (2), (1), (3);
 
323
select * from t1;
 
324
a       b
 
325
2       2
 
326
3       1
 
327
4       3
 
328
truncate table t1;
 
329
insert into t1 (b) values (1);
 
330
replace into t1 (b) values (2);
 
331
replace into t1 (b) values (1);
 
332
replace into t1 (b) values (3);
 
333
select * from t1;
 
334
a       b
 
335
2       2
 
336
3       1
 
337
4       3
 
338
drop table t1;
 
339
create table t1 (rowid int not null auto_increment, val int not null,primary
 
340
key (rowid), unique(val));
 
341
replace into t1 (val) values ('1'),('2');
 
342
replace into t1 (val) values ('1'),('2');
 
343
insert into t1 (val) values ('1'),('2');
 
344
ERROR 23000: Duplicate entry '1' for key 'val'
 
345
select * from t1;
 
346
rowid   val
 
347
3       1
 
348
4       2
 
349
drop table t1;
 
350
CREATE TABLE t1 (t1 INT PRIMARY KEY, t2 INT);
 
351
INSERT INTO t1 VALUES(0, 0);
 
352
INSERT INTO t1 VALUES(1, 1);
 
353
ALTER TABLE t1 CHANGE t1 t1 INT auto_increment;
 
354
INSERT INTO t1 VALUES(0,0);
 
355
ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
 
356
DROP TABLE t1;
 
357
create table t1 (a int primary key auto_increment, b int, c int, d timestamp default current_timestamp, unique(b),unique(c));
 
358
insert into t1 values(null,1,1,now());
 
359
insert into t1 values(null,0,0,null);
 
360
replace into t1 values(null,1,0,null);
 
361
select last_insert_id();
 
362
last_insert_id()
 
363
3
 
364
drop table t1;