我在我的MySQL數據庫中有幾個表。他們有一個特定的命名約定,如。MySQL檢查表是否已經存在
tbl_1_alpha
tbl_1_beta
tbl_1_alpha2
tbl_2_beta
tbl_3_alpha2
現在我想檢查給定的表是否已經存在於數據庫中。
例如。
$name = 'tbl_1_alpha'
- >存在$name = 'tbl_1_alpha2'
- >存在$name = 'tbl_1_alpha3'
- >不存在
爲了得到結果我用了以下功能
public function exists($name)
{
$query = "SHOW TABLES LIKE '$name%'";
$result = $this->db->query($query);
if ($result->num_rows() > 0) {
return true;
}
return false;
}
了給出$name
= tbl_1_alpha
它重新轉true
。但是,當我刪除表tbl_1_alpha
它仍然返回true
,因爲它匹配名稱tbl_1_alpha2
。我怎樣才能避免這種情況?
任何人都可以幫我匹配確切的表名並找出它是否已經存在或沒有?
爲什麼不籤全名,沒有通配符,不LIKE –
可能這可以幫助你: http://stackoverflow.com/questions/9479056/table-exists-method-might-not-be-working-pr嚴重 –
說真的,我怎麼沒有看到'%'。謝謝@Dagon – Fawzan