2011-04-05 86 views
1

我已经得到了下面的SQL查询似乎是抛出一个错误,但我',真的卡在语法错误的地方。我认为这是在场上5,但如果我正确使用默认日期时间,我不是100%。MySQL的查询日期时间默认

CREATE TABLE mytable (field0 int(10) unsigned NOT NULL auto_increment primary key, 
field2 DATETIME NOT NULL, 
field3 int(1) unsigned default 0, 
field4 int(10) NOT NULL, 
field5 DATETIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL) 

任何人谁更好的SQL看到语法错误是哪里? :)

谢谢

回答

2
CREATE TABLE mytable30(
    `key` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    field2 DATETIME NOT NULL, 
    field3 INT(1) UNSIGNED DEFAULT 0, 
    field4 INT(10) NOT NULL, 
    field5 TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL 
) 

最好重命名key字段。 INT(1) - 是否应该像这样INT(11)?

0

您不能使用日期时间和时间戳,你必须选择一个。

3

字段5 - TIMESTAMP是一种类型,DATETIME也是这样,使用一种或另一种不是两种。

http://dev.mysql.com/doc/refman/5.0/en/datetime.html

+0

这解释了比所选答案更好的解决方案。我知道汤米首先发布了,但我投了赞成票,因为它已经投了票,它需要靠近顶端。 – 2011-05-16 16:47:59