ホームページ  >  に質問  >  本文

テーブルの作成時に日時エラーが報告されます。理由がわかりません。

[SQL] create table s7_note

(

id mediaint unsigned not null auto_increment comment 'Id',

title varchar(100) not null comment '标题' ,

content longtext not null comment 'コンテンツ',

addtime datetime not null default current_timestamp comment '追加時間',

ip int not null comment 'IP地址',

プライマリキー(id)

)engine=InnoDB デフォルトの文字セット utf8 コメント '留言表';

[Err] 1067 - 'addtime のデフォルト値が無効です'


元曦元曦2639日前1425

全員に返信(3)返信します

  • 逸先生

    逸先生2017-08-24 10:38:16

    create table s7_note
    (
      id mediumint unsigned not null auto_increment comment 'Id',
      title varchar(100) not null comment '标题',
      content longtext not null comment '内容',
      addtime datetime not null default '' comment '添加时间',
      ip int not null  comment 'IP地址',
      primary key(id)
    )engine=InnoDB default charset utf8 comment '留言表';

    #最も簡単な方法はデフォルト値を変更するだけです

    返事
    1
  • 天蓬老师

    天蓬老师2017-08-21 17:18:45

    datetime と current_timestamp は、理論的には、それらの値は同じです。ただし、current_timestamp は読み取り時と書き込み時に自動変換処理があり、値の範囲も異なります。 current_timestamp は変数として考えることができます。これは、読み書き時に変換する必要があるため、舞台裏で密かにフォーマットする date() 関数があると考えることができます。この時点で表現になります。

    アップグレードすることをお勧めします。または、値または定数を変更して日時を初期化します。

    返事
    1
  • 天蓬老师

    天蓬老师2017-08-21 12:00:06

    MySQL 5.6 以降にアップグレードしてください

    返事
    1
  • 元曦

    他に代替手段はありませんか?

    元曦 · 2017-08-21 14:14:07
  • キャンセル返事