相关疑难解决方法(0)

MySQL"CREATE TABLE IF NOT NOT EXISTS" - >错误1050

使用命令:

CREATE TABLE IF NOT EXISTS `test`.`t1` (
    `col` VARCHAR(16) NOT NULL
) ENGINE=MEMORY;
Run Code Online (Sandbox Code Playgroud)

在MySQL Query Browser中运行两次会导致:

表't1'已存在错误1050

我原本以为创建表"IF NOT EXISTS"不会抛出错误.我错过了什么或这是一个错误吗?我正在运行5.1版.谢谢.

mysql sql mysql-error-1050

57
推荐指数
4
解决办法
17万
查看次数

检查MySQL表是否存在

可能重复:
MySQL检查表是否存在而不抛出异常

我的项目中有一个动态的mysql查询构建器,它从不同的表创建选择查询.
我需要检查当前的处理表是否存在.
想象一下,我的表是table1,table2和table3.我的代码是这样的:

<?php
for($i = 1 ; $i <= 3 ; $i++) {
   $this_table = 'table'.$i;
   $query = mysql_query("SELECT * FROM $this_table");
   // ...
}
?>
Run Code Online (Sandbox Code Playgroud)

我该如何检查(请告诉我最简单的方法).

php mysql exists

41
推荐指数
3
解决办法
14万
查看次数

使用PHP/PDO检查数据库表是否存在

我想检查我使用PHP和PDO连接到的数据库中是否存在具有特定名称的表.

它必须适用于所有数据库后端,如MySQL,SQLite等.

php database pdo

25
推荐指数
3
解决办法
4万
查看次数

检查MySQL上是否存在表

我正在尝试检查表是否存在,如果存在则执行某些操作.我继续收到错误,告诉我该表不存在而不是完成我的支票.这是代码:

$tableExists = $db->prepare("SHOW TABLES LIKE $table_array");
$tableExists->execute();
if($tableExists->rowCount() > 0) {
   // do some code
 } else {
   echo "Unable to add because table does not exists";
}
Run Code Online (Sandbox Code Playgroud)

更新:根据以下建议,我现在执行以下操作:

$tableExists = $db->prepare("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ?"); 
$tableExists->execute(array($table_array)); 
if(!is_null($tableExist)) { 
    //do something
} else {
    echo "table does not exist;
}
Run Code Online (Sandbox Code Playgroud)

但是,if语句似乎无法确定表是否存在.我还能做什么?

php mysql

7
推荐指数
1
解决办法
8863
查看次数

标签 统计

mysql ×3

php ×3

database ×1

exists ×1

mysql-error-1050 ×1

pdo ×1

sql ×1