默认情况下,MySQL 接受无效值。您可以将 MySQL 设置为严格模式以强制使用有效值。这将拒绝不为 NOT NULL 列提供值的查询,并在所有类型的列上强制执行完整性。
更新: MySQL 5.7 及更高版本现在默认启用严格模式。因此,默认情况下它不会像以前的版本一样接受无效值。
http://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sql-mode-important
http://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_strict_all_tables
编辑:@Barranka 和@RocketHazmat 在评论中提出了很好的观点。 ''与 null 不同,因此 MySQL 将允许在 NOT NULL 列中使用它。在这种情况下,您将不得不求助于您的代码或触发器。
在代码中(例如 PHP),这可能很简单,运行如下:
if (!strlen($value)) {
// Exclude value or use NULL in query
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8677 次 |
| 最近记录: |