(...doesn't have a default value) 沒有預設值的錯誤訊息

與 phpBB 3.0.x 相關主題。
回覆文章
Mac
百戰天龍馬蓋先
百戰天龍馬蓋先
文章: 2590
註冊時間: 2003-02-02 02:28
來自: MacphpBBMOD
聯繫:

(...doesn't have a default value) 沒有預設值的錯誤訊息

文章 Mac »

原 URL:http://www.phpbb.com/kb/article/doesnt- ... ue-errors/

問題
當您在討論版中執行一些動作時,您可能會遇到下面這個錯誤訊息
Field 'forum_last_post_subject' doesn't have a default value [1364]
以上問題可能發生在一個或者數個資料庫的欄位中,所以訊息中提到的欄位名稱也可能會改變,但問題的本質應該是一樣的


原因

這通常是因為資料庫版本的升級所造成的。例如從 MySQL 3.0.x 或 4.0.x 升級到 4.1.x 或 5.x,而虛擬主機供應商也可能會在不通知用戶的情況下做升級的動作

問題的發生是因為舊版本的資料庫結構如果沒有經過特殊的微調,在新版本中會無法正常運作。因此,在沒有適當的修正資料庫結構的情況下,就會發生上述的問題

這個問題最近在 phpbb.com 的支援版面時常出現,另外,使用者也經常誤以為這是 phpBB 的小蟲(bug)而回報給 phpBB.com。因此,phpBB 的開發小組認為他們應該對此問題做出說明,並且提供一個執行程式,讓有此問題的使用者可以修復資料庫上的版本相容性問題


修正方法
  • 在執行程式前,請先備份討論版所使用的資料庫
  • 請先確定您所使用的 phpBB3 版本是最新的,下載 mysql_upgrader.php (適用於 3.0.0 上)
  • 在您的桌面上把壓縮檔解壓縮
  • 閱讀裡面的文件,並且依照上面的敘述做出必要的動作
  • 使用 FTP 客戶端程式把 mysql_upgrader.php 上傳到您的討論版的根目錄下。您可以在這個位置找到 config.php 這個檔案
  • 在瀏覽器中鍵入與 mysql_upgrader.php 相對應的網址,如果以 phpBB.com 為例子,那網址應該是

    代碼: 選擇全部

    http://www.phpbb.com/community/mysql_upgrader.php
  • 這個程式會掃瞄您的資料庫,然後產生符合您的資料庫版的的架構,結果是它會產生一些 SQL 命令列讓您可以使用以下方式來執行
    • 透過 phpmyadmin 來執行
    • 透過 MySQL 的命令列工具(console)
    • 提供給主機供應商,請對方幫您執行
  • 當提供的 SQL 命令列順利執行後,之前遭遇的問題應該就不會再發生了。而討論版也應該要能正常運作
  • 最後,使用 FTP 客戶端程式把 mysql_upgrader.php 從討論版的根目錄移除
~Mac
最後由 心靈捕手 於 2010-04-23 21:34 編輯,總共編輯了 2 次。
理由: 更新主題
+ 關於 phpBB 使用問題請在版面發問,私人訊息提供其他不相干或是隱私的事情聯絡之用。

phpBB 官網 | 竹貓星球 | MacphpBBMOD | 我的服務
Mac
百戰天龍馬蓋先
百戰天龍馬蓋先
文章: 2590
註冊時間: 2003-02-02 02:28
來自: MacphpBBMOD
聯繫:

文章 Mac »

上面提到的「閱讀裡面的文件,並且依照上面的敘述做出必要的動作」其實是 mysql_upgrader.php 裡面的這一段

代碼: 選擇全部

//
// Security message:
//
// This script is potentially dangerous.
// Remove or comment the next line (die(".... ) to enable this script.
// Do NOT FORGET to either remove this script or disable it after you have used it.
//
die("Please read the first lines of this script for instructions on how to enable it");

代碼: 選擇全部

//
// 安全性訊息:
//
// 這個程式使用不當可能會造成安全上的疑慮
// 請移除下一行 (die(".... ) (或是使用 // 把該行標記為註釋)來啟用這個程式.
// 請務必在使用後移除這個程式
//
die("Please read the first lines of this script for instructions on how to enable it");
~Mac
+ 關於 phpBB 使用問題請在版面發問,私人訊息提供其他不相干或是隱私的事情聯絡之用。

phpBB 官網 | 竹貓星球 | MacphpBBMOD | 我的服務
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8510
註冊時間: 2004-04-30 01:54
來自: Taiwan

Re: (...doesn't have a default value) 沒有預設值的錯誤訊息

文章 心靈捕手 »

Mac 寫:原 URL:http://www.phpbb.com/kb/article/doesnt- ... ue-errors/
...
修正方法
  • 在執行程式前,請先備份討論版所使用的資料庫
  • 請先確定您所使用的 phpBB3 版本是最新的,下載 mysql_upgrader.php (適用於 3.0.0 上)
    ...
~Mac
建議大家:
到上頭 "原 URL" 去下載符合您目前 phpBB 版本的 "mysql_upgrader.php" 來修正您的資料表.
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
回覆文章

回到「3.0」