gpt4 book ai didi

sql - 如果存在另一个表,如何删除数据库中的表?

转载 作者:行者123 更新时间:2023-12-02 17:34:10 25 4
gpt4 key购买 nike

如果存在另一个表,我正在尝试删除数据库中的一个表。

我使用此查询备份了表:

ALTER TABLE AppProfile RENAME TO AppProfile_backup

现在我想通过以下方式恢复备份表并删除 AppProfile:

DROP TABLE AppProfile IF EXISTS TABLE AppProfile_backup
(ALTER TABLE AppProfile_backup RENAME TO AppProfile) IF NOT EXISTS AppProfile

但是,我在“IF”标记附近的两行中都遇到语法错误。

有关此问题的背景,我在 Android 中使用 SQLiteOpenHelper 类。您可以通过调用 [db_handler_instance].getWritableDatabase().execSQL("random query"); 在该环境中执行原始 SQL

最佳答案

用 Java 来做这个怎么样?可以查询数据字典...

String sql = "SELECT 1 "
+ " FROM sqlite_master "
+ " WHERE type = 'table' "
+ " AND name = 'AppProfile_backup'";

Cursor cursor = db.rawQuery(sql, null);

...并删除该表(如果备份表存在):

if (cursor.moveToNext())
db.execSQL("DROP TABLE AppProfile;");
else
db.execSQL("ALTER TABLE ...");

关于sql - 如果存在另一个表,如何删除数据库中的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18113383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com