sqlite DELETE FROM 时,为什么外键约束不起作用

在 SQLite 中,当执行 DELETE FROM 语句时外键约束看似不起作用,通常有以下几个常见原因:

外键约束未启用

SQLite 的外键约束默认是关闭的,需要显式启用。如果没有执行以下语句,外键约束将不会生效:

sql

PRAGMA foreign_keys = ON;

注意:这个设置是会话级别的,每次连接数据库后都需要重新执行。

public void DeleteTable(string tableName)

{

string sql = $"PRAGMA foreign_keys = ON; DELETE FROM {tableName}";

using (var connection = new SQLiteConnection(_connectionString))

{

connection.Open();

using (var command = new SQLiteCommand(sql, connection))

{

command.ExecuteNonQuery();

}

}

}

文件名精灵2025年最新版 机器翻译 AI智能
...
批量修改文件名称、文件夹名称

免费使用 功能无限制

全面接入机器自动翻译功能,主流AI大模型智能改名

方便快捷,支持正则表达式、无需安装功能齐全、支持定制无广告、无插件,放心使用。

免费下载
本站中所有的计算器的计算结果仅供参考,本站对此结果的准确性不承担任何责任,实际数额以银行/保险公司/国家相关机构确认的结果为准。
在线客服QQ:543690914,备案号: 苏ICP备15037649号-27。东海县白塔埠镇佳诚电脑经营部版权所有。