223 lines
		
	
	
		
			8.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			223 lines
		
	
	
		
			8.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								drop table if exists t1,t2,t3,t4,t5,t6;
							 | 
						||
| 
								 | 
							
								drop database if exists mysqltest;
							 | 
						||
| 
								 | 
							
								CREATE TABLE t1 (a varchar(30) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								b varchar(1) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								c varchar(4) binary NOT NULL DEFAULT '0000',
							 | 
						||
| 
								 | 
							
								d tinyblob NULL,
							 | 
						||
| 
								 | 
							
								e tinyblob NULL,
							 | 
						||
| 
								 | 
							
								f tinyblob NULL,
							 | 
						||
| 
								 | 
							
								g tinyblob NULL,
							 | 
						||
| 
								 | 
							
								h tinyblob NULL,
							 | 
						||
| 
								 | 
							
								i tinyblob NULL,
							 | 
						||
| 
								 | 
							
								j tinyblob NULL,
							 | 
						||
| 
								 | 
							
								k tinyblob NULL,
							 | 
						||
| 
								 | 
							
								l tinyblob NULL,
							 | 
						||
| 
								 | 
							
								m tinyblob NULL,
							 | 
						||
| 
								 | 
							
								n tinyblob NULL,
							 | 
						||
| 
								 | 
							
								o tinyblob NULL,
							 | 
						||
| 
								 | 
							
								p tinyblob NULL,
							 | 
						||
| 
								 | 
							
								q varchar(30) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								r varchar(30) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								s tinyblob NULL,
							 | 
						||
| 
								 | 
							
								t varchar(4) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								u varchar(1) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								v varchar(30) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								w varchar(30) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								x tinyblob NULL,
							 | 
						||
| 
								 | 
							
								y varchar(5) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								z varchar(20) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								a1 varchar(30) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								b1 tinyblob NULL)
							 | 
						||
| 
								 | 
							
								ENGINE=InnoDB DEFAULT CHARACTER SET = latin1 COLLATE latin1_bin;
							 | 
						||
| 
								 | 
							
								INSERT into t1 (b) values ('1');
							 | 
						||
| 
								 | 
							
								SHOW WARNINGS;
							 | 
						||
| 
								 | 
							
								Level	Code	Message
							 | 
						||
| 
								 | 
							
								SELECT * from t1;
							 | 
						||
| 
								 | 
							
								a	b	c	d	e	f	g	h	i	j	k	l	m	n	o	p	q	r	s	t	u	v	w	x	y	z	a1	b1
							 | 
						||
| 
								 | 
							
								 	1	0000	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	 	 	NULL	 	 	 	 	NULL	 	 	 	NULL
							 | 
						||
| 
								 | 
							
								CREATE TABLE t2 (a varchar(30) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								b varchar(1) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								c varchar(4) binary NOT NULL DEFAULT '0000',
							 | 
						||
| 
								 | 
							
								d tinyblob NULL,
							 | 
						||
| 
								 | 
							
								e tinyblob NULL,
							 | 
						||
| 
								 | 
							
								f tinyblob NULL,
							 | 
						||
| 
								 | 
							
								g tinyblob NULL,
							 | 
						||
| 
								 | 
							
								h tinyblob NULL,
							 | 
						||
| 
								 | 
							
								i tinyblob NULL,
							 | 
						||
| 
								 | 
							
								j tinyblob NULL,
							 | 
						||
| 
								 | 
							
								k tinyblob NULL,
							 | 
						||
| 
								 | 
							
								l tinyblob NULL,
							 | 
						||
| 
								 | 
							
								m tinyblob NULL,
							 | 
						||
| 
								 | 
							
								n tinyblob NULL,
							 | 
						||
| 
								 | 
							
								o tinyblob NULL,
							 | 
						||
| 
								 | 
							
								p tinyblob NULL,
							 | 
						||
| 
								 | 
							
								q varchar(30) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								r varchar(30) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								s tinyblob NULL,
							 | 
						||
| 
								 | 
							
								t varchar(4) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								u varchar(1) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								v varchar(30) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								w varchar(30) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								x tinyblob NULL,
							 | 
						||
| 
								 | 
							
								y varchar(5) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								z varchar(20) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								a1 varchar(30) binary NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								b1 tinyblob NULL)
							 | 
						||
| 
								 | 
							
								ENGINE=MyISAM DEFAULT CHARACTER SET = latin1 COLLATE latin1_bin;
							 | 
						||
| 
								 | 
							
								SHOW CREATE TABLE t2;
							 | 
						||
| 
								 | 
							
								Table	Create Table
							 | 
						||
| 
								 | 
							
								t2	CREATE TABLE `t2` (
							 | 
						||
| 
								 | 
							
								  `a` varchar(30) COLLATE latin1_bin NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								  `b` varchar(1) COLLATE latin1_bin NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								  `c` varchar(4) COLLATE latin1_bin NOT NULL DEFAULT '0000',
							 | 
						||
| 
								 | 
							
								  `d` tinyblob,
							 | 
						||
| 
								 | 
							
								  `e` tinyblob,
							 | 
						||
| 
								 | 
							
								  `f` tinyblob,
							 | 
						||
| 
								 | 
							
								  `g` tinyblob,
							 | 
						||
| 
								 | 
							
								  `h` tinyblob,
							 | 
						||
| 
								 | 
							
								  `i` tinyblob,
							 | 
						||
| 
								 | 
							
								  `j` tinyblob,
							 | 
						||
| 
								 | 
							
								  `k` tinyblob,
							 | 
						||
| 
								 | 
							
								  `l` tinyblob,
							 | 
						||
| 
								 | 
							
								  `m` tinyblob,
							 | 
						||
| 
								 | 
							
								  `n` tinyblob,
							 | 
						||
| 
								 | 
							
								  `o` tinyblob,
							 | 
						||
| 
								 | 
							
								  `p` tinyblob,
							 | 
						||
| 
								 | 
							
								  `q` varchar(30) COLLATE latin1_bin NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								  `r` varchar(30) COLLATE latin1_bin NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								  `s` tinyblob,
							 | 
						||
| 
								 | 
							
								  `t` varchar(4) COLLATE latin1_bin NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								  `u` varchar(1) COLLATE latin1_bin NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								  `v` varchar(30) COLLATE latin1_bin NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								  `w` varchar(30) COLLATE latin1_bin NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								  `x` tinyblob,
							 | 
						||
| 
								 | 
							
								  `y` varchar(5) COLLATE latin1_bin NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								  `z` varchar(20) COLLATE latin1_bin NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								  `a1` varchar(30) COLLATE latin1_bin NOT NULL DEFAULT ' ',
							 | 
						||
| 
								 | 
							
								  `b1` tinyblob
							 | 
						||
| 
								 | 
							
								) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_bin
							 | 
						||
| 
								 | 
							
								INSERT into t2 (b) values ('1');
							 | 
						||
| 
								 | 
							
								SHOW WARNINGS;
							 | 
						||
| 
								 | 
							
								Level	Code	Message
							 | 
						||
| 
								 | 
							
								SELECT * from t2;
							 | 
						||
| 
								 | 
							
								a	b	c	d	e	f	g	h	i	j	k	l	m	n	o	p	q	r	s	t	u	v	w	x	y	z	a1	b1
							 | 
						||
| 
								 | 
							
								 	1	0000	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	 	 	NULL	 	 	 	 	NULL	 	 	 	NULL
							 | 
						||
| 
								 | 
							
								drop table t1;
							 | 
						||
| 
								 | 
							
								drop table t2;
							 | 
						||
| 
								 | 
							
								create table bug20691 (i int, d datetime NOT NULL, dn datetime not null default '0000-00-00 00:00:00');
							 | 
						||
| 
								 | 
							
								insert into bug20691 values (1, DEFAULT, DEFAULT), (1, '1975-07-10 07:10:03', '1978-01-13 14:08:51'), (1, DEFAULT, DEFAULT);
							 | 
						||
| 
								 | 
							
								Warnings:
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'd' doesn't have a default value
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'd' doesn't have a default value
							 | 
						||
| 
								 | 
							
								insert into bug20691 (i) values (2);
							 | 
						||
| 
								 | 
							
								Warnings:
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'd' doesn't have a default value
							 | 
						||
| 
								 | 
							
								desc bug20691;
							 | 
						||
| 
								 | 
							
								Field	Type	Null	Key	Default	Extra
							 | 
						||
| 
								 | 
							
								i	int(11)	YES		NULL	
							 | 
						||
| 
								 | 
							
								d	datetime	NO		NULL	
							 | 
						||
| 
								 | 
							
								dn	datetime	NO		0000-00-00 00:00:00	
							 | 
						||
| 
								 | 
							
								insert into bug20691 values (3, DEFAULT, DEFAULT), (3, '1975-07-10 07:10:03', '1978-01-13 14:08:51'), (3, DEFAULT, DEFAULT);
							 | 
						||
| 
								 | 
							
								Warnings:
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'd' doesn't have a default value
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'd' doesn't have a default value
							 | 
						||
| 
								 | 
							
								insert into bug20691 (i) values (4);
							 | 
						||
| 
								 | 
							
								Warnings:
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'd' doesn't have a default value
							 | 
						||
| 
								 | 
							
								insert into bug20691 values (5, DEFAULT, DEFAULT), (5, '1975-07-10 07:10:03', '1978-01-13 14:08:51'), (5, DEFAULT, DEFAULT);
							 | 
						||
| 
								 | 
							
								Warnings:
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'd' doesn't have a default value
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'd' doesn't have a default value
							 | 
						||
| 
								 | 
							
								SET sql_mode = 'ALLOW_INVALID_DATES';
							 | 
						||
| 
								 | 
							
								insert into bug20691 values (6, DEFAULT, DEFAULT), (6, '1975-07-10 07:10:03', '1978-01-13 14:08:51'), (6, DEFAULT, DEFAULT);
							 | 
						||
| 
								 | 
							
								Warnings:
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'd' doesn't have a default value
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'd' doesn't have a default value
							 | 
						||
| 
								 | 
							
								SET sql_mode = 'STRICT_ALL_TABLES';
							 | 
						||
| 
								 | 
							
								insert into bug20691 values (7, DEFAULT, DEFAULT), (7, '1975-07-10 07:10:03', '1978-01-13 14:08:51'), (7, DEFAULT, DEFAULT);
							 | 
						||
| 
								 | 
							
								ERROR HY000: Field 'd' doesn't have a default value
							 | 
						||
| 
								 | 
							
								select * from bug20691 order by i asc;
							 | 
						||
| 
								 | 
							
								i	d	dn
							 | 
						||
| 
								 | 
							
								1	0000-00-00 00:00:00	0000-00-00 00:00:00
							 | 
						||
| 
								 | 
							
								1	1975-07-10 07:10:03	1978-01-13 14:08:51
							 | 
						||
| 
								 | 
							
								1	0000-00-00 00:00:00	0000-00-00 00:00:00
							 | 
						||
| 
								 | 
							
								2	0000-00-00 00:00:00	0000-00-00 00:00:00
							 | 
						||
| 
								 | 
							
								3	0000-00-00 00:00:00	0000-00-00 00:00:00
							 | 
						||
| 
								 | 
							
								3	1975-07-10 07:10:03	1978-01-13 14:08:51
							 | 
						||
| 
								 | 
							
								3	0000-00-00 00:00:00	0000-00-00 00:00:00
							 | 
						||
| 
								 | 
							
								4	0000-00-00 00:00:00	0000-00-00 00:00:00
							 | 
						||
| 
								 | 
							
								5	0000-00-00 00:00:00	0000-00-00 00:00:00
							 | 
						||
| 
								 | 
							
								5	1975-07-10 07:10:03	1978-01-13 14:08:51
							 | 
						||
| 
								 | 
							
								5	0000-00-00 00:00:00	0000-00-00 00:00:00
							 | 
						||
| 
								 | 
							
								6	0000-00-00 00:00:00	0000-00-00 00:00:00
							 | 
						||
| 
								 | 
							
								6	1975-07-10 07:10:03	1978-01-13 14:08:51
							 | 
						||
| 
								 | 
							
								6	0000-00-00 00:00:00	0000-00-00 00:00:00
							 | 
						||
| 
								 | 
							
								drop table bug20691;
							 | 
						||
| 
								 | 
							
								SET sql_mode = '';
							 | 
						||
| 
								 | 
							
								create table bug20691 (
							 | 
						||
| 
								 | 
							
								a set('one', 'two', 'three') not null,
							 | 
						||
| 
								 | 
							
								b enum('small', 'medium', 'large', 'enormous', 'ellisonego') not null,
							 | 
						||
| 
								 | 
							
								c time not null,
							 | 
						||
| 
								 | 
							
								d date not null,
							 | 
						||
| 
								 | 
							
								e int not null,
							 | 
						||
| 
								 | 
							
								f long not null,
							 | 
						||
| 
								 | 
							
								g blob not null,
							 | 
						||
| 
								 | 
							
								h datetime not null,
							 | 
						||
| 
								 | 
							
								i decimal not null,
							 | 
						||
| 
								 | 
							
								x int);
							 | 
						||
| 
								 | 
							
								insert into bug20691 values (2, 3, 5, '0007-01-01', 11, 13, 17, '0019-01-01 00:00:00', 23, 1);
							 | 
						||
| 
								 | 
							
								insert into bug20691 (x) values (2);
							 | 
						||
| 
								 | 
							
								Warnings:
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'a' doesn't have a default value
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'c' doesn't have a default value
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'd' doesn't have a default value
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'e' doesn't have a default value
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'f' doesn't have a default value
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'g' doesn't have a default value
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'h' doesn't have a default value
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'i' doesn't have a default value
							 | 
						||
| 
								 | 
							
								insert into bug20691 values (2, 3, 5, '0007-01-01', 11, 13, 17, '0019-01-01 00:00:00', 23, 3);
							 | 
						||
| 
								 | 
							
								insert into bug20691 values (DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, 4);
							 | 
						||
| 
								 | 
							
								Warnings:
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'a' doesn't have a default value
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'c' doesn't have a default value
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'd' doesn't have a default value
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'e' doesn't have a default value
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'f' doesn't have a default value
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'g' doesn't have a default value
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'h' doesn't have a default value
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'i' doesn't have a default value
							 | 
						||
| 
								 | 
							
								select * from bug20691 order by x asc;
							 | 
						||
| 
								 | 
							
								a	b	c	d	e	f	g	h	i	x
							 | 
						||
| 
								 | 
							
								two	large	00:00:05	0007-01-01	11	13	17	0019-01-01 00:00:00	23	1
							 | 
						||
| 
								 | 
							
									small	00:00:00	0000-00-00	0			0000-00-00 00:00:00	0	2
							 | 
						||
| 
								 | 
							
								two	large	00:00:05	0007-01-01	11	13	17	0019-01-01 00:00:00	23	3
							 | 
						||
| 
								 | 
							
									small	00:00:00	0000-00-00	0			0000-00-00 00:00:00	0	4
							 | 
						||
| 
								 | 
							
								drop table bug20691;
							 | 
						||
| 
								 | 
							
								create table t1 (id int not null);
							 | 
						||
| 
								 | 
							
								insert into t1 values(default);
							 | 
						||
| 
								 | 
							
								Warnings:
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'id' doesn't have a default value
							 | 
						||
| 
								 | 
							
								create view v1 (c) as select id from t1;
							 | 
						||
| 
								 | 
							
								insert into t1 values(default);
							 | 
						||
| 
								 | 
							
								Warnings:
							 | 
						||
| 
								 | 
							
								Warning	1364	Field 'id' doesn't have a default value
							 | 
						||
| 
								 | 
							
								drop view v1;
							 | 
						||
| 
								 | 
							
								drop table t1;
							 | 
						||
| 
								 | 
							
								create table t1 (a int unique);
							 | 
						||
| 
								 | 
							
								create table t2 (b int default 10);
							 | 
						||
| 
								 | 
							
								insert into t1 (a) values (1);
							 | 
						||
| 
								 | 
							
								insert into t2 (b) values (1);
							 | 
						||
| 
								 | 
							
								insert into t1 (a) select b from t2 on duplicate key update a=default;
							 | 
						||
| 
								 | 
							
								select * from t1;
							 | 
						||
| 
								 | 
							
								a
							 | 
						||
| 
								 | 
							
								NULL
							 | 
						||
| 
								 | 
							
								insert into t1 (a) values (1);
							 | 
						||
| 
								 | 
							
								insert into t1 (a) select b from t2 on duplicate key update a=default(b);
							 | 
						||
| 
								 | 
							
								select * from t1;
							 | 
						||
| 
								 | 
							
								a
							 | 
						||
| 
								 | 
							
								NULL
							 | 
						||
| 
								 | 
							
								10
							 | 
						||
| 
								 | 
							
								drop table t1, t2;
							 | 
						||
| 
								 | 
							
								End of 5.0 tests.
							 |