mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-7778 impossible create copy of table, if table contain default value for timestamp field
MDEV-8082 ON UPDATE is not preserved by CREATE TABLE .. SELECT
This commit is contained in:
@ -661,7 +661,7 @@ CREATE TABLE t2 SELECT a FROM t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
|
||||
`a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t2;
|
||||
a
|
||||
@ -670,7 +670,7 @@ CREATE TABLE t3 SELECT b FROM t1;
|
||||
SHOW CREATE TABLE t3;
|
||||
Table Create Table
|
||||
t3 CREATE TABLE `t3` (
|
||||
`b` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
|
||||
`b` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t3;
|
||||
b
|
||||
@ -679,7 +679,7 @@ CREATE TABLE t4 SELECT c FROM t1;
|
||||
SHOW CREATE TABLE t4;
|
||||
Table Create Table
|
||||
t4 CREATE TABLE `t4` (
|
||||
`c` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
|
||||
`c` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t4;
|
||||
c
|
||||
@ -706,7 +706,7 @@ CREATE TABLE t7 SELECT f FROM t1;
|
||||
SHOW CREATE TABLE t7;
|
||||
Table Create Table
|
||||
t7 CREATE TABLE `t7` (
|
||||
`f` datetime DEFAULT NULL
|
||||
`f` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t7;
|
||||
f
|
||||
@ -715,7 +715,7 @@ CREATE TABLE t8 SELECT g FROM t1;
|
||||
SHOW CREATE TABLE t8;
|
||||
Table Create Table
|
||||
t8 CREATE TABLE `t8` (
|
||||
`g` datetime DEFAULT NULL
|
||||
`g` datetime DEFAULT CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t8;
|
||||
g
|
||||
@ -724,7 +724,7 @@ CREATE TABLE t9 SELECT h FROM t1;
|
||||
SHOW CREATE TABLE t9;
|
||||
Table Create Table
|
||||
t9 CREATE TABLE `t9` (
|
||||
`h` datetime DEFAULT NULL
|
||||
`h` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t9;
|
||||
h
|
||||
@ -775,14 +775,14 @@ t12 CREATE TABLE `t12` (
|
||||
`s` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`t` datetime DEFAULT NULL,
|
||||
`u` datetime DEFAULT '1986-09-27 03:00:00',
|
||||
`a` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`b` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`c` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`b` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`c` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
|
||||
`d` timestamp NOT NULL DEFAULT '1986-09-27 03:00:00',
|
||||
`e` timestamp NULL DEFAULT NULL,
|
||||
`f` datetime DEFAULT NULL,
|
||||
`g` datetime DEFAULT NULL,
|
||||
`h` datetime DEFAULT NULL,
|
||||
`f` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`g` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
`h` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`i` datetime DEFAULT NULL,
|
||||
`j` datetime DEFAULT '1986-09-27 03:00:00'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
@ -803,7 +803,7 @@ CREATE TABLE t2 SELECT a FROM t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` datetime DEFAULT NULL
|
||||
`a` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t2;
|
||||
a
|
||||
@ -812,7 +812,7 @@ CREATE TABLE t3 SELECT b FROM t1;
|
||||
SHOW CREATE TABLE t3;
|
||||
Table Create Table
|
||||
t3 CREATE TABLE `t3` (
|
||||
`b` datetime DEFAULT NULL
|
||||
`b` datetime DEFAULT CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t3;
|
||||
b
|
||||
@ -821,7 +821,7 @@ CREATE TABLE t4 SELECT c FROM t1;
|
||||
SHOW CREATE TABLE t4;
|
||||
Table Create Table
|
||||
t4 CREATE TABLE `t4` (
|
||||
`c` datetime DEFAULT NULL
|
||||
`c` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t4;
|
||||
c
|
||||
@ -2217,7 +2217,7 @@ CREATE TABLE t2 SELECT a FROM t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000'
|
||||
`a` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t2;
|
||||
a
|
||||
@ -2226,7 +2226,7 @@ CREATE TABLE t3 SELECT b FROM t1;
|
||||
SHOW CREATE TABLE t3;
|
||||
Table Create Table
|
||||
t3 CREATE TABLE `t3` (
|
||||
`b` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000'
|
||||
`b` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t3;
|
||||
b
|
||||
@ -2235,7 +2235,7 @@ CREATE TABLE t4 SELECT c FROM t1;
|
||||
SHOW CREATE TABLE t4;
|
||||
Table Create Table
|
||||
t4 CREATE TABLE `t4` (
|
||||
`c` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000'
|
||||
`c` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000' ON UPDATE CURRENT_TIMESTAMP(6)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t4;
|
||||
c
|
||||
@ -2262,7 +2262,7 @@ CREATE TABLE t7 SELECT f FROM t1;
|
||||
SHOW CREATE TABLE t7;
|
||||
Table Create Table
|
||||
t7 CREATE TABLE `t7` (
|
||||
`f` datetime(6) DEFAULT NULL
|
||||
`f` datetime(6) DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t7;
|
||||
f
|
||||
@ -2271,7 +2271,7 @@ CREATE TABLE t8 SELECT g FROM t1;
|
||||
SHOW CREATE TABLE t8;
|
||||
Table Create Table
|
||||
t8 CREATE TABLE `t8` (
|
||||
`g` datetime(6) DEFAULT NULL
|
||||
`g` datetime(6) DEFAULT CURRENT_TIMESTAMP(6)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t8;
|
||||
g
|
||||
@ -2280,7 +2280,7 @@ CREATE TABLE t9 SELECT h FROM t1;
|
||||
SHOW CREATE TABLE t9;
|
||||
Table Create Table
|
||||
t9 CREATE TABLE `t9` (
|
||||
`h` datetime(6) DEFAULT NULL
|
||||
`h` datetime(6) DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(6)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t9;
|
||||
h
|
||||
@ -2331,14 +2331,14 @@ t12 CREATE TABLE `t12` (
|
||||
`s` datetime(6) DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(6),
|
||||
`t` datetime(6) DEFAULT NULL,
|
||||
`u` datetime(6) DEFAULT '1986-09-27 03:00:00.098765',
|
||||
`a` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
|
||||
`b` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
|
||||
`c` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
|
||||
`a` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
|
||||
`b` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||
`c` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000' ON UPDATE CURRENT_TIMESTAMP(6),
|
||||
`d` timestamp(6) NOT NULL DEFAULT '1986-09-27 03:00:00.098765',
|
||||
`e` timestamp(6) NULL DEFAULT NULL,
|
||||
`f` datetime(6) DEFAULT NULL,
|
||||
`g` datetime(6) DEFAULT NULL,
|
||||
`h` datetime(6) DEFAULT NULL,
|
||||
`f` datetime(6) DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
|
||||
`g` datetime(6) DEFAULT CURRENT_TIMESTAMP(6),
|
||||
`h` datetime(6) DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(6),
|
||||
`i` datetime(6) DEFAULT NULL,
|
||||
`j` datetime(6) DEFAULT '1986-09-27 03:00:00.098765'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
@ -2359,7 +2359,7 @@ CREATE TABLE t2 SELECT a FROM t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` datetime(6) DEFAULT NULL
|
||||
`a` datetime(6) DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t2;
|
||||
a
|
||||
@ -2368,7 +2368,7 @@ CREATE TABLE t3 SELECT b FROM t1;
|
||||
SHOW CREATE TABLE t3;
|
||||
Table Create Table
|
||||
t3 CREATE TABLE `t3` (
|
||||
`b` datetime(6) DEFAULT NULL
|
||||
`b` datetime(6) DEFAULT CURRENT_TIMESTAMP(6)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t3;
|
||||
b
|
||||
@ -2377,7 +2377,7 @@ CREATE TABLE t4 SELECT c FROM t1;
|
||||
SHOW CREATE TABLE t4;
|
||||
Table Create Table
|
||||
t4 CREATE TABLE `t4` (
|
||||
`c` datetime(6) DEFAULT NULL
|
||||
`c` datetime(6) DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(6)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t4;
|
||||
c
|
||||
|
Reference in New Issue
Block a user