2011-08-17 63 views

回答

3

您需要根據您的確切表格結構調整此值,但類似;

CREATE TABLE temp (startdate varchar(255), stuff varchar(255)); 

INSERT INTO temp 
SELECT startdate,stuff 
FROM mytable; 

TRUNCATE TABLE mytable; 

ALTER TABLE mytable ALTER COLUMN startdate DATETIME NOT NULL; 

INSERT INTO mytable 
SELECT CAST(startdate AS DATETIME), stuff FROM temp; 

DROP TABLE temp; 
+0

我做到了,但最後,datetime列值更改爲NULL :( – Mujahid

+0

varchar列中的當前日期格式爲: 2011/4/9(m/d/y) – Mujahid

+0

是否SELECT CAST(startdate AS DATETIME),stuff FROM temp;那個列也返回null? –

2

首先,創建數據類型 接下來,運行更新查詢新柱,填充新值爲舊值的列,根據需要應用任何轉換 接下來,刪除舊列 最後,將新列重命名爲舊列

1
  1. 使用臨時名稱創建一個新的日期列
  2. 填充一個更新查詢,使得使用的STR_TO_DATE()
  3. 新列。如果一切是正確的,去掉VARCHAR列,並重新命名DATE列。
0

mysql的默認日期格式是:YYYY-MM-DD。如果您嘗試插入日期,則會按照您的實際情況插入日期:000-00-00,爲您提供mySql的可接受日期格式提示。

相關問題