【发布时间】:2014-07-01 13:31:12
【问题描述】:
我在使用 Python、MySQL 和创建包含两个时间戳列的表时遇到问题。
通过 Python 并使用 MySQLDB 执行以下 SQL:
CREATE TABLE test_db.test_with_two_datetime_columns (
`first_datetime_field` TIMESTAMP(6) NOT NULL DEFAULT 0,
`second_datetime_field` TIMESTAMP(6) NOT NULL DEFAULT 0
) ENGINE=InnoDB
我收到错误 (1067, Invalid default value for 'first_datetime_field'),而我可以在 MySQL CLI 中轻松触发以下相等命令:
$ mysql -h localhost
> CREATE TABLE test_db.test_with_two_datetime_columns (
`first_datetime_field` TIMESTAMP(6) NOT NULL DEFAULT 0,
`second_datetime_field` TIMESTAMP(6) NOT NULL DEFAULT 0
) ENGINE=InnoDB;
Query OK, 0 rows affected (0.01 sec)
同样通过 Sequel Pro,上面的命令也能正常执行。
所以我猜问题出在MySQLDB(又名MySQL-Python),但这看起来很奇怪
我正在使用MySQL 5.6.17、MySQL-Python 1.2.5 和Python 2.7。
【问题讨论】:
标签: python mysql mysql-python