2015-09-05 41 views
0

當我輸入csgonitro_csgonitro.gz,這個錯誤顯示出來#1067 - 對DATETIME 'add_time' 無效的默認值

http://i.imgur.com/Z53tRQF.png

Mysql的說,有一個DATETIME列中的 '無效默認值'。指定的默認值是CURRENT_TIMESTAMP

這些csgonitro_csgonitro.gz http://pastebin.com/pGbGtvah

的內容我有0至沒有PHP,MYSQL的知識,使演練做我需要做什麼來解決這個問題將不勝感激。

+0

您使用的是哪個版本的mysql?一些舊版本不會自動在DATETIME和TIMESTAMP之間進行轉換。你可以聲明你的add_time列是一個TIMESTAMP而不是 – Loopo

+0

我該怎麼做? – Kemal

回答

1

它看起來像你使用phpmyadmin來創建你的表。可能從不同版本的mysql導入。

根據您可還是想你有幾種選擇什麼:

  • 更新您的MySQL版本(因爲你是負責的服務器不是不太可能)
  • 變化add_time列刪除默認CURRENT_TIMESTAMP
    `add_time` datetime DEFAULT NULL,
  • 變化add_time列更改數據類型爲timestamp
    `add_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,

第一個選項不需要對您的PHP代碼進行任何更改。其他2個選項可能會。

更改爲空默認值意味着您必須確保應用程序在添加項目時填寫值。

更改爲TIMESTAMP將需要您的應用程序在從數據庫讀取時在時間戳和日期之間進行轉換。

1

MySQL(版本5.6.5之前)不允許將函數用於默認DateTime值。

嘗試更新MySQL,它應該工作。