看板 PHP 關於我們 聯絡資訊
※ 引述《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