检查表是否存在

时间:2015-03-27 06:55:56

标签: php

$qry    = "SELECT * FROM nl_lang_var";
    if($qry === false)
        {
             $sql = "INSERT INTO  nl_lang_var set value='$value'        WHERE        name='$var' and langid=$langid"; }
            else {
 echo "already existed"; }

我想知道表 nl_lang_var 是否存在。

如果它不存在,则必须插入,否则给出消息。

3 个答案:

答案 0 :(得分:1)

有两种可能的解决方案。

解决方案1 ​​

SELECT 1 FROM nl_lang_var WHERE 1 LIMIT 1;

如果上述查询没有返回错误,则表存在。

解决方案2

SELECT *
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'DB_NAME' AND TABLE_NAME = 'nl_lang_var';

答案 1 :(得分:0)

我没试过,如果这样可行,但我希望你能得到一些想法

SELECT count(table_name) 
FROM INFORMATION_SCHEMA.TABLES 
WHERE table_name = 'nl_lang_var'

答案 2 :(得分:0)

尝试此查询

SHOW TABLES LIKE 'nl_lang_var';

或者

SHOW TABLE STATUS LIKE 'nl_lang_var';

SHOW TABLE比information_schema

更快

但两者都取决于连接用户的权限

Ref