Maison  >  Questions et réponses  >  le corps du texte

Lors de la création d'une table, une erreur datetime est signalée. Je ne sais pas pourquoi ?

[SQL] créer une 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 current_timestamp comment '添加时间',

  ip int not null  comment 'IP地址',

 primary key(id)

)engine=InnoDB default charset utf8 comment '留言表';

[ Err] 1067 - Valeur par défaut non valide pour 'addtime'


元曦元曦2588 Il y a quelques jours1386

répondre à tous(3)je répondrai

  • 逸先生

    逸先生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 '留言表';

    #Changez simplement la valeur par défaut, de la manière la plus simple

    répondre
    1
  • 天蓬老师

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

    datetime et current_timestamp, théoriquement, leurs valeurs sont les mêmes. Cependant, current_timestamp a un processus de conversion automatique lors de la lecture et de l'écriture, et les plages de valeurs entre elles sont également différentes. Vous pouvez considérer current_timestamp comme une variable, car elle doit être convertie lors de la lecture et de l'écriture. Vous pouvez la considérer comme ayant une fonction date() la formatant secrètement en arrière-plan. À ce stade, cela devient une expression.

    Il est recommandé de mettre à niveau. Ou modifiez une valeur ou une constante pour initialiser datetime.

    répondre
    1
  • 天蓬老师

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

    Veuillez mettre à niveau vers MySQL 5.6+

    répondre
    1
  • 元曦

    N'y a-t-il pas d'autre alternative ?

    元曦 · 2017-08-21 14:14:07
  • Annulerrépondre