我们开始使用 MySQL json 数据类型。NULL
将默认值存储为 JSON 数据类型或{}
为 JSON 数据类型存储时,是否有任何推荐的最佳实践?每个的优点和缺点是什么?
问问题
8922 次
3 回答
4
这将取决于您的业务用例。
null
通常表示该值未知/不存在。{}
另一方面意味着该值是已知的/确实存在,并且已知的值是一个空的 JSON 对象{}
于 2018-04-27T19:52:42.193 回答
1
请记住,根据文档,MySQL 在 8.0.13 版(2018 年 10 月 22 日发布)之前不允许 JSON 列使用非空默认值:
在 MySQL 8.0.13 之前,JSON 列不能有非 NULL 默认值。
如果您在以前的版本上尝试它,您会收到错误:
BLOB, TEXT, GEOMETRY or JSON column 'column_name' can't have a default value
因此,如果要求向后兼容,这是{}
.
于 2020-10-22T13:04:09.580 回答
1
如果您将新的 JSON 列添加到现有行, PhpMyAdmin 默认使用文本null
。
请注意,这与NULL
. NULL
表示未知/在数据库中不存在,null
表示未知/转换为JSON后不存在。{}
是一个空的 JSON 对象。
于 2020-05-31T11:22:48.573 回答