Bug #41510 | timestamp(14) fails in table create (TikiWiki) | ||
---|---|---|---|
Submitted: | 16 Dec 2008 14:53 | Modified: | 16 Dec 2008 15:27 |
Reporter: | Henrik Falk | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Server: Data Types | Severity: | S3 (Non-critical) |
Version: | 6.0.8alpha | OS: | Windows |
Assigned to: | CPU Architecture: | Any |
[16 Dec 2008 14:53]
Henrik Falk
[16 Dec 2008 14:59]
Henrik Falk
> The SQL works fine on a Debian MySQL 5.0.32 server. The SQL runs without errors and generates a timestamp field which is 19 characters long.
[16 Dec 2008 15:27]
Valeriy Kravchuk
This is not a bug. We have warnings about timestamp(N) deprecation for years already: C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -uroot -proot -P3308 test Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 Server version: 5.0.72-enterprise-gpl-nt MySQL Enterprise Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> CREATE TABLE tiki_banning ( -> banId int(12) NOT NULL auto_increment, -> mode enum('user','ip') default NULL, -> title varchar(200) default NULL, -> ip1 char(3) default NULL, -> ip2 char(3) default NULL, -> ip3 char(3) default NULL, -> ip4 char(3) default NULL, -> user varchar(200) default '', -> date_from timestamp(14) NOT NULL, -> date_to timestamp(14) NOT NULL, -> use_dates char(1) default NULL, -> created int(14) default NULL, -> message text, -> PRIMARY KEY (banId) -> ) ENGINE=MyISAM AUTO_INCREMENT=1 ; Query OK, 0 rows affected, 2 warnings (0.28 sec) mysql> show warnings\G *************************** 1. row *************************** Level: Warning Code: 1287 Message: 'TIMESTAMP(14)' is deprecated; use 'TIMESTAMP' instead *************************** 2. row *************************** Level: Warning Code: 1287 Message: 'TIMESTAMP(14)' is deprecated; use 'TIMESTAMP' instead 2 rows in set (0.08 sec) mysql> exit Bye C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -uroot -proot -P3310 test Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.1.30-enterprise-gpl-advanced-debug MySQL Enterprise Server - A dvanced Edition Debug (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> CREATE TABLE tiki_banning ( -> banId int(12) NOT NULL auto_increment, -> mode enum('user','ip') default NULL, -> title varchar(200) default NULL, -> ip1 char(3) default NULL, -> ip2 char(3) default NULL, -> ip3 char(3) default NULL, -> ip4 char(3) default NULL, -> user varchar(200) default '', -> date_from timestamp(14) NOT NULL, -> date_to timestamp(14) NOT NULL, -> use_dates char(1) default NULL, -> created int(14) default NULL, -> message text, -> PRIMARY KEY (banId) -> ) ENGINE=MyISAM AUTO_INCREMENT=1 ; Query OK, 0 rows affected, 2 warnings (0.36 sec) mysql> show warnings\G *************************** 1. row *************************** Level: Warning Code: 1287 Message: The syntax 'TIMESTAMP(14)' is deprecated and will be removed in MySQL 5 .2. Please use 'TIMESTAMP' instead *************************** 2. row *************************** Level: Warning Code: 1287 Message: The syntax 'TIMESTAMP(14)' is deprecated and will be removed in MySQL 5 .2. Please use 'TIMESTAMP' instead 2 rows in set (0.05 sec) mysql> exit Bye So, in 6.0 it is already NOT supported: C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -uroot -proot -P3311 test Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 6.0.8-alpha-community MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> CREATE TABLE tiki_banning ( -> banId int(12) NOT NULL auto_increment, -> mode enum('user','ip') default NULL, -> title varchar(200) default NULL, -> ip1 char(3) default NULL, -> ip2 char(3) default NULL, -> ip3 char(3) default NULL, -> ip4 char(3) default NULL, -> user varchar(200) default '', -> date_from timestamp(14) NOT NULL, -> date_to timestamp(14) NOT NULL, -> use_dates char(1) default NULL, -> created int(14) default NULL, -> message text, -> PRIMARY KEY (banId) -> ) ENGINE=MyISAM AUTO_INCREMENT=1 ; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14) NOT NULL, date_to timestamp(14) NOT NULL, use_dates char(1) default NUL' at line 10 Please, just use TIMESTAMP: mysql> CREATE TABLE tiki_banning ( -> banId int(12) NOT NULL auto_increment, -> mode enum('user','ip') default NULL, -> title varchar(200) default NULL, -> ip1 char(3) default NULL, -> ip2 char(3) default NULL, -> ip3 char(3) default NULL, -> ip4 char(3) default NULL, -> user varchar(200) default '', -> date_from timestamp NOT NULL, -> date_to timestamp NOT NULL, -> use_dates char(1) default NULL, -> created int(14) default NULL, -> message text, -> PRIMARY KEY (banId) -> ) ENGINE=MyISAM AUTO_INCREMENT=1 ; Query OK, 0 rows affected (0.33 sec)