php - 避免使用空值 VS NULL 更新 MySQL

标签 php mysql

我有一个表单,它有一些可选的输入,用户可以跳过更新,这些输入可以是空的,问题是当我更新一个设置为 NULL 的列时,查询会将那个列更新为空白 ""而不是将其保留为空。

我关心的是 是如何高效 在 MySQL 特别大的表上,当值设置为空白 VS 时性能是否有差异无效的。 如果是,那么我将确保所有空输入都更新为 NULL。

这是我用来避免空白的代码,有更好的方法吗?

#Avoid blank with NULL
$value1 = !empty($_POST['input1']) ? $_POST['input1'] : NULL;
$value2 = !empty($_POST['input2']) ? $_POST['input2'] : NULL;

最佳答案

这里有一个很好的讨论: MySQL: NULL vs ""

Answer from /u/degenerate

I found out that NULL vs "" is insignificant in terms of disk-space and performance.

还有一些人在讨论搜索“空位”比检查字符串是否为 '' 更快。这个问题已经有 9 年了,所以从那时起我们在硬件方面已经取得了长足的进步,差异可能可以忽略不计。作为 DBA,我建议适本地使用 null :)

关于php - 避免使用空值 VS NULL 更新 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51596426/

相关文章:

php - 使用 preg_replace 将一个字符的多个实例转换为一个 (aa = a)?

php - 在 PHP 中将 MySQL 数据导出到 Excel

php - mysqli_multi_query 不工作,没有任何反应

php - 我怎样才能拥有一系列电子邮件并确保它们都已发送?

php - 查找 user2 好友 + 与 user1 相互计数

mysql - 选择获取MySQL组中max对应的整行

linux - 如何查看哪个 PHP 脚本消耗的内存最多?

mysql - week(NOW()) 从周日开始 需要从周一开始

php - 我从数据库 PHP 导出出了什么问题?

mysql - 是否可以将其合并为一个查询?