SQLite - 如果不存在则创建表

时间:2014-07-16 16:08:26

标签: sqlite sqlite-net

SQLite中的create table语句是什么意思返回?

我已经观察到create table if not exists在表确实存在的情况下同时返回01。返回值是表格是否存在的可靠指示吗?如果表已经存在,我希望该语句返回0,而如果表已经存在则返回1,类似于insert语句。

2 个答案:

答案 0 :(得分:2)

Changes返回受影响的的数量。 对于CREATE TABLE语句,此值无意义。

没有简单的方法来确定CREATE TABLE IF NOT EXISTS语句是否进行了创建。 您应事先使用PRAGMA table_info进行检查。

答案 1 :(得分:1)

即使表已存在,if not exists语法也会使命令成功。它没有做任何事情。

我不确定你指的是"返回1"除非您正在谈论命令行客户端。在这种情况下,如果您只是从if not exists语句中删除create,那么如果表存在,该命令将返回1(表示失败)。