如何在mysql中检查多个表是否存在?

时间:2018-02-07 10:52:56

标签: c# mysql entity-framework

我使用Entity Framework和mysql,我必须使用原始SQL(FromSQL)。

我要将表联合起来,但我必须知道数据库中是否存在每个表,因为它必须存在于union表中。我想按名称检查所有表并选择现有表并将它们联合起来。

我想我应该为每个表使用多个查询来了解它们的存在。

Show Table Like 'Log_2018_01_01'
Show Table Like 'Log_2018_01_02'
Show Table Like 'Log_2018_01_03'
Show Table Like 'Log_2018_01_04'
Show Table Like 'Log_2018_01_05'
Show Table Like 'Log_2018_01_06'
Show Table Like 'Log_2018_01_07'
Show Table Like 'Log_2018_01_08'

我将把它存储在

List<string> ExistTables;

然后我将使用ExistTable List和for循环编写union SQL。

string sql = "";
for(var i in ExistTables)
{
    sql += //union tables which are in exist table list.
}

这是一个好方法吗?

如果可能的话,我想只获得1个查询的现有表格。

2 个答案:

答案 0 :(得分:0)

尝试以下查询:

SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '<Your table name>'

答案 1 :(得分:0)

Gajjar Parth说过,但如果您没有权限查询元数据,请尝试

public class AppCache {

    private static final String PREF = "notificationApp";
    private static final String COUNT_KEY = "count_key";


    public static void saveNotification(Context context, String notification) {

    SharedPreferences sharedPref = context.getSharedPreferences(PREF, Context.MODE_PRIVATE);
    int count = sharedPref.getInt(COUNT_KEY , 0);
    count++;
        sharedPref.edit().putString("notification"+count, notification).apply();
    //saving count in prefs
    sharedPref.edit().putInt(COUNT_KEY , count).apply();
    }


}

对于每个表格,然后相应地进行。