MySQL不正确的datetime值:列的“09:40 AM”

MySQL不正确的datetime值:列的“09:40 AM”,mysql,sql,datetime,Mysql,Sql,Datetime,我试图在表中输入值,但出现了此错误 列的日期时间值不正确:“09:40 AM” 谢谢您,因为您将start_time声明为datetime NULL,mysql需要一个datetime值。 使用与end_time varchar8 NULL相同的类型 在创建表时,在列的末尾使用了逗号 CREATE TABLE Class_Section ( crn char(5) NOT NULL Primary key, dept_code char(3) NOT NULL, cours

我试图在表中输入值,但出现了此错误

列的日期时间值不正确:“09:40 AM”


谢谢您,因为您将start_time声明为datetime NULL,mysql需要一个datetime值。 使用与end_time varchar8 NULL相同的类型

在创建表时,在列的末尾使用了逗号

CREATE TABLE Class_Section
(
 crn        char(5) NOT NULL Primary key,
 dept_code  char(3) NOT NULL,
 course_num char(3) NOT NULL,
 meeting_days   varchar(6) NULL ,
 start_time     Time NULL,
 end_time   Time NULL,
 campus_code    varchar(3) NOT NULL,
 location   varchar(6) NOT NULL,
 faculty_id char(4) NOT NULL,
 enrollment TINYINT NOT NULL,
 capacity   TINYINT NOT NULL
);

INSERT INTO Class_Section ( CRN, dept_code, course_num, meeting_days, start_time, end_time, campus_code, location, faculty_id, enrollment, capacity ) values ('20761', 'PSY', '101', 'MW', '09:40:00', '11:10:00', 'WC','E-527', 'F002', 40, 40);

检查您是否已申报

start_time datetime ,

end_time varchar(8)
但在插入时,您发送的是'09:40 AM'、'11:10 AM'。因此,请检查一下您的数据类型。

这里有一个问题


开始时间的日期时间类型的格式为

请指定此格式的日期时间字段

    '9999-12-31 23:59:59'
作业称开始时间为日期时间

除非传递日期值,但传递时间,作为datetime字段输入的一部分,否则引擎将无法将时间理解为日期和时间。如果您预先确定了课程开始日期和结束日期的日期和时间,请以MySQL可理解的格式输入

如果日期和时间值是分开的,则可以将它们组合起来形成日期时间值。 以下是一些例子:

例1: 如果日期和时间作为单独的值:

insert into tbl( col_of_type_datetime ) values( curdate(), '09:40 AM' );
insert into tbl( col_of_type_datetime ) values( '2014-02-18', '09:40 AM' );
例2: 如果您有已知的时间戳值:

insert into tbl( col_of_type_datetime ) values( now() );
insert into tbl( col_of_type_datetime ) values( '2014-02-18 15:10:34' );
例3: 如果只有“日期但现在”时间值:

insert into tbl( col_of_type_datetime ) values( cast( curdate() as datetime ) );
insert into tbl( col_of_type_datetime ) values( curdate() );
insert into tbl( col_of_type_datetime ) values( cast('2014-02-18' as datetime) );
insert into tbl( col_of_type_datetime ) values( '2014-02-18' );

早上9:40不是约会时间。这对你来说不是很明显吗?你有时间,但没有日期时间作为输入。作业说开始时间是日期时间作业说开始时间是日期时间。结束时间–最多允许8小时characters@user3003395:那么你必须在之前的帖子中清楚地提到这一点。不要认为它有什么“否决票”。
insert into tbl( col_of_type_datetime ) values( cast( curdate() as datetime ) );
insert into tbl( col_of_type_datetime ) values( curdate() );
insert into tbl( col_of_type_datetime ) values( cast('2014-02-18' as datetime) );
insert into tbl( col_of_type_datetime ) values( '2014-02-18' );