MySQL中的Datetime数据类型出错

MySQL中的Datetime数据类型出错,mysql,insert,Mysql,Insert,我在MySQL中使用以下维度查询创建了一个表 CREATE TABLE Pat_Visit (PatientID INT(16), FOREIGN KEY(PatientID) REFERENCES patient_demo(PatientID),Visit_DateTime DATETIME,Visit_Title VARCHAR(6), DoctorID INT(16),FOREIGN KEY(DoctorID) REFERENCES Doctor(DoctorID)); 我尝试使用下面给

我在MySQL中使用以下维度查询创建了一个表

CREATE TABLE Pat_Visit (PatientID INT(16), FOREIGN KEY(PatientID) REFERENCES patient_demo(PatientID),Visit_DateTime DATETIME,Visit_Title VARCHAR(6),
DoctorID INT(16),FOREIGN KEY(DoctorID) REFERENCES Doctor(DoctorID));
我尝试使用下面给出的查询添加一些数据

  INSERT INTO Pat_Visit(PatientID,Visit_DateTime,Visit_Title,DoctorID) VALUES (100001,10/24/11 10:00 AM,'PAIN IN JOINTS',920001);

但这是一个错误。我不知道这里出了什么问题。有人能帮我吗…

因为你没有发布错误,所以调试有点困难。无论如何:

  • 您应该在单引号之间写入日期时间
  • 这是日期时间的典型格式:2011-02-2317:34:11

  • 将日期用引号括起来,并重新格式化时间和日期:

    INSERT INTO Pat_Visit(PatientID, Visit_DateTime, Visit_Title, DoctorID) 
    VALUES (100001, '2011-10-24 10:00', 'PAIN IN JOINTS', 920001);
    
    此外,请将“访问”标题列放大。6个字符的长度不足以存储“关节疼痛”。请尝试以下说明:

    INSERT INTO Pat_Visit(PatientID,Visit_DateTime,Visit_Title,DoctorID) 
    VALUES (100001,'2011-10-24 10:00:00','PAIN IN JOINTS',920001);
    
    您可以这样转换日期:

    STR_TO_DATE('10/24/11 10:00 PM','%m/%d/%Y %h:%i %p')
    
    因此,说明是:

    INSERT INTO Pat_Visit(PatientID,Visit_DateTime,Visit_Title,DoctorID) 
        VALUES (100001,STR_TO_DATE('10/24/11 10:00 PM','%m/%d/%Y %h:%i %p'),'PAIN IN JOINTS',920001);
    
    摘自

    MySQL检索并显示“YYYY-MM-DD HH:MM:SS”中的日期时间值 格式。支持的范围为“1000-01-01 00:00:00”到“9999-12-31” 23:59:59'


    这个问题不费吹灰之力。你甚至没有读错误信息。我读了错误信息。但我无法理解错误信息problem@Rosa错误消息是:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,了解在第1行“10:00,'PAIN IN JOINTS',920001)”附近使用的正确语法。它正在工作……但问题是我必须以相同的格式添加数据。。我的意思是dd/mm/yy格式。可能吗?你能帮我吗?你必须在插入之前将其转换为YYYY-mm-dd HH:mm:SS格式。Fred我正在将excel数据库迁移到MySQL。因此很难将批量数据转换为此格式。已更新格式问题。还要注意的是,访问标题栏太小了。用弗雷德的方法确定你的日期。