※ 引述《APE36 (PT鄉民)》之銘言:
: 為何我已經建立Table
: CREATE TABLE e{
: ...
: Bdate DATE,
: ...
: }
: 以下日期插入語法:
: insert into e values('1965-01-09');
: 出來的MySQL結果表格卻是 0000-00-00 上網搜尋過了大多都是這樣的語法
: 這樣到底是哪裡錯了呢??麻煩大大們指導一下!!新手上路..><勿鞭我
從你的CREATE TABLE來看,e這個名稱的表格應該欄位不止一個Bdate吧?
假設完整的語法是
CREATE TABLE `e` (
`name` VARCHAR( 8 ) NOT NULL ,
`Bdate` DATE NOT NULL ,
`age` TINYINT( 1 ) NOT NULL
) ENGINE = MYISAM ;
如果我沒記錯的話,INSERT INTO有些限制
#如果"有"指定欄位,就可以只給指定的欄位值,沒給值的欄位,會使用預設值
INSERT INTO `e` (`Bdate`,`name`) VALUES ('1965-01-09','myName');
#如果"沒有"指定欄位,就要給所有欄位值(照欄位順序給值)
INSERT INTO `e` VALUES('myName','1965-01-09',18);
這邊講個題外話,如果你有機會使用到SQLite,日期的插入,要在插入的同時使用
內建函式,將欄位與值進行格式同步化,大概會像下列這樣:
INSERT INTO `e` (date(`Bdate`)) VALUES (date('1965-01-09'));
最後,建議SQL指令的關鍵字建議全大寫,欄位就使用小寫,有助於程式碼的閱讀
--
歡迎來我的網誌看看
@ http://liaosankai.pixnet.net/blog
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.16.194