怎麼判斷mysql表是否存在

else發表於2021-09-11

怎麼判斷mysql表是否存在

判斷mysql表是否存在,常用的方法如下:

SHOW TABLES LIKE '%tb_bp_d_case%';
select TABLE_NAME from INFORMATION_SCHEMA.TABLES whereTABLE_SCHEMA='dbname' and TABLE_NAME='tablename' ;

需要考慮的是許可權問題

mysql 的授權分為 5 層:全域性層級,資料庫層級,表層級,列層級,子程式層級;

SHOW TABLES,並不在priv_type列表中,也就是說只要能連線到mysql上都可以執行。

如果使用者許可權是 表層級或者是列層級 的,那麼 show tables; 只能看到有許可權的表名。

如果 查詢 INFORMATION_SCHEMA 庫的話,也是一樣的,只能查詢到有許可權的表。

如果說一個使用者的許可權不是資料庫層級以上的話就會導致結果不可信賴。

類似下邊的授權就不用擔心這個問題(priv_type隨便什麼都行)。

更多技術請關注。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2318/viewspace-2834119/,如需轉載,請註明出處,否則將追究法律責任。

相關文章