SQL CREATE和INSERT

时间:2016-12-09 16:01:07

标签: mysql sql database

CREATE TABLE Application (
    studentID       VARCHAR(10) NOT NULL ,
    firstName       VARCHAR(10),
    lastName        VARCHAR(20),
    ic              VARCHAR(15),
    dateOfBirth     DATE,
    gender          CHAR(1),
    email           VARCHAR(20),
    applStatus      VARCHAR(10),
    homeAddress     VARCHAR(30),
    pinCode         INTEGER,
    country         VARCHAR(10),
    stated          VARCHAR(10),

    primary key (studentID)
);

INSERT INTO APPLICATION VALUES('15WAD04433','DANIEL','CHOO','961019-06-1783','19/10/1996','M','DC@HOTMAIL.COM','SUCCESSFUL','A 4710, LORONG ALOR AKAR 30',25250,'KUANTAN','PAHANG');

错误是[例外,错误代码30,000,SQLState 22007]日期/时间值的字符串表示超出范围。

大家好,我正在使用" NetBeans IDE 8.2"创建一个数据库,但当我插入日期19/10/1996时出现错误。出生日期是2016年与当前日期和时间相同是不可能的,我可以知道如何将出生日期设定回1996年而没有错误吗?

2 个答案:

答案 0 :(得分:1)

来自MySQL documentation

  

虽然MySQL试图以多种格式解释数值,但日期部分必须始终以年 - 月 - 日的顺序给出(例如,' 98-09-04'),而不是在月份 - 其他地方常用的日期或日期 - 月份订单(例如,' 09-04-98',' 04-09-98')

您需要将日期格式19/10/1996更改为1996-10-19

答案 1 :(得分:0)

尝试将日期更改为'10/19/1996',因为模式最有可能是月/日/年。您还可以根据具体情况提供月/日/年模式:TO_DATE('19/10/1996', 'DD/MM/YYYY')