Der folgende Editor bietet Ihnen eine kurze Diskussion über das Problem der Nullwerte in Datumsangaben in der MySQL-Datenbank . Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor und werfen wir einen Blick darauf.
Standardmäßig kann MySQL das Einfügen von 0-Werten in Datumsangaben akzeptieren. In Wirklichkeit haben 0-Werte in Datumsangaben wenig Bedeutung. Durch Anpassen der MySQL-Variable sql_mode kann das Ziel erreicht werden.
set @@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION'; set @@session.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION';
Beispiel:
Es gibt eine Tabelle für die Protokollierung
create table app_logs( id int not null auto_increment primary key, log_tm timestamp not null, log_info varchar(64) not null) engine=innodb,charset=utf8;
Fügen Sie interessante Datumswerte in die Protokolltabelle ein
insert into app_logs(log_tm,log_info) values(now(),'log_info_1'); insert into app_logs(log_tm,log_info) values('2016-12-01','log_info_2');
Fügen Sie Datumswerte einschließlich 0 in die Protokolltabelle ein
insert into app_logs(log_tm,log_info) values('2016-12-00','log_info_2'); ERROR 1292 (22007): Incorrect datetime value: '2016-12-00' for column 'log_tm' at row 1
Das obige ist der detaillierte Inhalt vonEine kurze Einführung in das Problem der Nullwerte in Datumsangaben in MySQL-Datenbanken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!