Php 为什么默认情况下在sqlite中禁用约束?
您必须运行Php 为什么默认情况下在sqlite中禁用约束?,php,sqlite,pdo,Php,Sqlite,Pdo,您必须运行PRAGMA foreign\u keys=ON才能启用它 为什么??这是因为sqlite中的这个特性有缺陷吗?我这样问是因为我遇到了数据完整性问题。我有时会在不应该发生的情况下出现“完整性约束冲突”错误。这不是错误。只是许多用户不需要严格的约束。SQLite是软件的一部分它没有缺陷。只是许多用户不需要严格的约束。SQLite是一种软件,它来自: 默认情况下禁用外键约束(用于向后 兼容性),因此必须为每个数据库单独启用 单独连接 从: 默认情况下禁用外键约束(用于向后 兼容性),因此必
PRAGMA foreign\u keys=ON
才能启用它
为什么??这是因为sqlite中的这个特性有缺陷吗?我这样问是因为我遇到了数据完整性问题。我有时会在不应该发生的情况下出现“完整性约束冲突”错误。这不是错误。只是许多用户不需要严格的约束。SQLite是软件的一部分它没有缺陷。只是许多用户不需要严格的约束。SQLite是一种软件,它来自: 默认情况下禁用外键约束(用于向后 兼容性),因此必须为每个数据库单独启用 单独连接 从: 默认情况下禁用外键约束(用于向后 兼容性),因此必须为每个数据库单独启用 单独连接
这可能是一个性能特性。要求您选择外键检查开销。该功能也相对较新(于2009年底推出)。以前没有这样的东西,约束被忽略了,所以默认值是有意义的。它可能是一个性能特性。要求您选择外键检查开销。该功能也相对较新(于2009年底推出)。以前没有这样的事情,约束被忽略,所以默认设置是有意义的。