时间:2020-05-14 10:00:21 | 栏目: | 点击:次
本文举例说明使用 SQLite3 数据库时,对表(Table)是否存在的判断思路,并用php举例操作说明。
1,如果表不存在的时候则创建
下面 sql 执行后首先判断 t_user 这张表是否存在,如果不存在则新建。
CREATE TABLE IF NOT EXISTS t_user(uid integer primary key,uname varchar(20),mobile varchar(20))
SELECT count(*) FROM sqlite_master WHERE type="table" AND name = "t_user"
<?php
class MyDB extends SQLite3
{
function __construct()
{
$this->open('SQLite.db');
}
}
//创建或连接数据库
$db = new MyDB();
if(!$db){
echo $db->lastErrorMsg();
} else {
echo "Opened database successfully".PHP_EOL;
}
//创建表
$sSQL = <<<EOF
CREATE TABLE IF NOT EXISTS t_user(uid integer primary key,uname varchar(20),mobile varchar(20));
EOF;
$ret = $db->exec($sSQL);
if(!$ret){
echo $db->lastErrorMsg();
} else {
echo "Table(t_user) created successfully".PHP_EOL;
}
//判断表是否存在
$sSQL = <<<EOF
SELECT count(*) as UDS_COUNT FROM sqlite_master WHERE type='table' AND name = 't_user';
EOF;
$ret = $db->query($sSQL);
if(!$ret){
echo $db->lastErrorMsg();
} else {
$count = 0;
while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
$count = $row['UDS_COUNT'];
}
if($count>0){
echo "Table(t_user) exist".PHP_EOL;
}
else{
echo "Table(t_user) not exist".PHP_EOL;
}
}
//关闭数据库
$db->close();
?>
执行结果:
Opened database successfully Table(t_user) created successfully Table(t_user) exist