0
有没有办法在SQLite数据库中测试表的存在?现在,我在try catch块内创建表,如果抛出异常,我知道表已经创建。当然必须有更好的方法,对吧?我可以测试SQLite数据库中是否存在表?
有没有办法在SQLite数据库中测试表的存在?现在,我在try catch块内创建表,如果抛出异常,我知道表已经创建。当然必须有更好的方法,对吧?我可以测试SQLite数据库中是否存在表?
要检测一个特定的表存在,使用方法:
SELECT name
FROM sqlite_master
WHERE type = 'table'
AND name LIKE '%your_table_name%'
有一张名为sqlite_master
的表包含数据库模式。您可以运行类似的查询:如果查询返回1
select count(*) from sqlite_master where name='users';
,表“用户的存在。您也可以使用SQL if not exists
建设:
create table if not exists users (name, pwd);
更好的答案,因为它会检查类型。 – SecretDeveloper 2009-09-19 21:09:09
我认为检查类型没有任何优势。如果现有的索引或触发器具有相同的名称,则仍然无法创建表。 – finnw 2009-09-21 09:56:10