tp資料庫表大寫命名的一些問題

2021-09-08 09:37:02 字數 775 閱讀 9542

在使用thinkphp時,如果資料庫表命名有大寫,會被轉換成小寫加下劃線(可以使用$model->_sql())來檢視實際執行的sql是什麼

這個問題,看了一下源**,在 thinkphp/common/common.php裡面,這個函式會將資料表(或檢視)的大寫字母轉換為下劃線+小寫:

1

function parse_name($name, $type=0) else

10 }

另外,在 thinkphp/core/model.class.php裡面,會將整個表名轉換成小寫:

1

public

function

gettablename() else9//

10$this->truetablename = strtolower($tablename

);11

//$this->truetablename = $tablename;12}

13return (!empty($this->dbname)?$this->dbname.'.':'').$this->truetablename;

14 }

這樣有好處——規範。

但是在我們的開發中,有大寫的資料表,所以改了一下(注釋的那些)...

或者可以在模型定義裡面加上:

protected

$truetablename 

='mytablename';

來覆蓋$this->truetablename

資料庫的一些問題

什麼是事務?事務的acid特性 事務的併發控制可能產生哪些問題 為了解決併發控制,定義了4種事務隔離級別 mysql innodb預設實現可重複讀級別 如何解決高併發場景下的插入重複 什麼是樂觀鎖,什麼是悲觀鎖 innodb vs myisam常見的區別 為什麼需要索引?查詢結構進化史 什麼是b t...

資料庫建表遇到的一些問題

1 mysql中datetime date和timestamp型別的區別 2 修改語句及注釋 alter table 原表名 rename to 審計計畫 計畫統計 comment oncolumn planning.表名.呵呵呵呵is 呵呵主鍵,呵呵mmdd comment oncolumn pl...

資料庫設計的一些問題

原則 如果列中要儲存的資料長度差不多一致的,則因該考慮用char 否則因該考慮用varchar。如果列中的最大資料長度小於50byte,則一般也考慮用char。當然如果這個列很少用,則基於節省空間和減少i o的考慮,還是可以選擇varchar 一般不宜定義大於50byte的char型別列。原則 de...