mysql 检查表列名是否存_MySQL检查表是否已经存在

bd96500e110b49cbb3cd949968f18be7.png

I have couple of tables in my MySQL database. They have a certain naming convention such as.

tbl_1_alpha

tbl_1_beta

tbl_1_alpha2

tbl_2_beta

tbl_3_alpha2

Now I want to check wether a given table is already exists in the database.

eg.

$name = 'tbl_1_alpha' -> exists

$name = 'tbl_1_alpha2' -> exists

$name = 'tbl_1_alpha3' -> does not exists

To get the result I used the following functions

public function exists($name)

{

$query = "SHOW TABLES LIKE '$name%'";

$result = $this->db->query($query);

if ($result->num_rows() > 0) {

return true;

}

return false;

}

for a given $name = tbl_1_alpha it return true. But When I delete the table tbl_1_alpha it still returns true because it matches the name to tbl_1_alpha2. How can I avoid that?

Can anyone help me to match the exact table name and figure out wether it is already exist or not?

解决方案

No need of query. just run this

$this->db->table_exists('customer');

Example

$query = $this->db->table_exists('customer');

$count = count($query);

if (empty($count)) {

echo "No Table Found";

}

elseif ($count == 1) {

echo "Oopzz! There is table";

}

elseif ($count >1) {

echo "Ohh !! There are many tables";

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值