项目已经做完了·就要提交到万网的服务器上了·但却出了问题·
项目开发使用的是mysql4.1.22,万网的服务器使用的是mys14.0.27..在传入脚本之后报错了:该表中有两个字段都是时间戳类型(TimeStamp)但默认值已经不一样了!提示中说我的语法错误··难道这是版本的问题吗??还望高人解答·如能提供解决方法,高分相谢!

解决方案 »

  1.   

    -- 我的是没有问题的,估计是版本问题:
    mysql> CREATE TABLE admin(
        ->   adminId INT(11) NOT NULL AUTO_INCREMENT,
        ->   adminName VARCHAR(20) DEFAULT NULL,
        ->   adminPwd VARCHAR(20) DEFAULT NULL,
        ->   adminPower INT(11) DEFAULT NULL,
        ->   adminLastLoginTime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
        ->   adminCreateTime TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
        ->   PRIMARY KEY (adminId)
        -> )ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT = '该实体对应管理员';
    Query OK, 0 rows affected (0.03 sec)mysql> select version();
    +------------+
    | version()  |
    +------------+
    | 5.1.54-log |
    +------------+
    1 row in set (0.00 sec)
      

  2.   

    我也是这样认为·但又觉得不妥·毕竟都属于mysql4系列的啊··到底犯错的是什么原因·难道真是时间戳的问题吗?我又该如何解决呢··
      

  3.   

    -- 将红色部分去掉,然后更新的时候,手动更新adminLastLoginTime字段的值,就可以啦!
    adminLastLoginTime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      

  4.   

    版本问题。自己把CREATE TABLE语句改一下。
      

  5.   

    把所有的非insert 语句拿出来,一个一个执行一下。或者直接打开MYSQL的一般查询日志,看执行到哪一句有问题。
      

  6.   

    在MYSQL5下测试没有问题,
    要么升级,要么修改代码
      

  7.   

    把adminLastLoginTime的default值去掉,通过程序去写这个值