我在SQLite中创建表而不检查它是否存在。检查CREATE TABLE是否实际创建表或它是否已经存在?
sqlite3_stmt* create_stmt = NULL;
if (sqlite3_prepare_v2(db, "CREATE TABLE mytable (sif INTEGER PRIMARY KEY, name VARCHAR, description VARCHAR);", -1, &create_stmt, NULL) == SQLITE_OK)
{
sqlite3_step(create_stmt);
sqlite3_finalize(create_stmt);
}
如果该表不存在,它将被创建;如果存在,没有任何反应。
我想知道是否有某种方式获取信息是否创建表或只是检查?
好的,那是检查表是否存在但问题不同的方法。根据他们所做的事情从sqlite语句中获取返回的值。最有可能这是不可能的(在示例中)。 – 2012-03-19 08:44:50
@ user973238如果你想关注你的数据库,你可以使用一个你想要遵循的动作的专用日志表,并将它与一些触发器相关联。 – Coren 2012-03-19 10:10:43
嗯,对于现在这样的动作,我仍然是'短',仍然是初学者。无论如何,感谢您的帮助,“选择计数(类型)”非常出色! – 2012-03-19 12:08:34