2016-04-30 24 views
0

我創建了一個表..here正確的值是代碼MySQL的DATE數據類型不將士

create table ddate(
ddate date); 

後,我試圖插入值,這樣

insert into ddate(ddate)value(2010-04-12); 

但它給我一個警告

INSERT INTO ddate(ddate)值(2010-04-12)1受影響的行(S),1 警告(S):1264超範圍值的對CO lumn 'ddate' 在第1行0.001 秒

回答

3

日期文本括在單引號,像繩子文字。

insert into ddate(ddate)value('2010-04-12') 
          ^  ^

沒有周圍的字面的單引號,MySQL是評估,作爲一個數值,計算的結果是:

2010 - 04 - 12 

這使得原來的聲明實質上等同於

insert into ddate(ddate)value(1994) 
+0

非常感謝你的工作:) – user

1

你必須使用單引號的日期文字:

insert into ddate(ddate) values ('2010-04-12'); 

Demo here