howill2021 发表于 2021-5-17 20:21:37

请教大佬,Sqlite数据库 检查表是否存在

本帖最后由 howill2021 于 2021-5-17 22:30 编辑

有2个问题请教大佬,Sqlite数据库创建后,怎么检查表是否存在呢,
另外就是创建表后,需要关闭一次Sqlite之后,数据库才会显示这个表,是什么原因{:3_57:}

abcfox 发表于 2021-5-18 12:43:00

**?一下,或初始化一下

weilai 发表于 2021-5-18 13:27:38

记录 = 数据库.cha询SQL ("SELECT * FROM sqlite_master WHERE type='table' AND name = '" + 欲查表 + "'")

如果(记录.行数<1)
表不存在
否则
表存在

朕的 发表于 2021-5-18 13:48:54

weilai 发表于 2021-5-18 13:27
记录 = 数据库.cha询SQL ("SELECT * FROM sqlite_master WHERE type='table' AND name = '" + 欲查表 + "'" ...

虽然我不精通SQL,但你这个判断方法解决是不合适的。记录不存在,并不代表数据表不存在。
1、第一种方法
SELECT * FROM USER_TABLES;选择库后,通过取所有表,结果对比即可知道存不存在了啊。有很多种方法

2、第二种方法

IF EXISTS(SELECT name FROM WHERE name = '表名')
PRINT '该表存在'
ELSE
PRINT '该表不存在'。3、第三种方法
SELECT table_name,create_time FROM information_schema.TABLES WHERE table_name = '表名'通过cha询表的创建日期,返回的日期值就可以判断。


擅长SQL的高手应该还有更好的办法。

weilai 发表于 2021-5-18 15:00:32

我其实不会sql,这个方法是网上找的,用在sqlite里面是可行的,我亲自实验过
页: [1]
查看完整版本: 请教大佬,Sqlite数据库 检查表是否存在