在 MySQL 中存储数组:综合指南
使用 MySQL 等关系数据库时,高效存储数组可能具有挑战性。本文提供了有关在单个 MySQL 字段中存储和检索数组的详细指南。
数组存储的优点和缺点
没有固有的“好”方法将数组存储在单个字段中。使用 Serialize() 和 unserialize() 等函数序列化和反序列化数据似乎是一种解决方案,但这种方法限制了可查询性和数据完整性。
替代关系方法
推荐的方法包括重构架构以消除对阵列存储的需求。例如,考虑以下数组:
$a = [
1 => [
'a' => 1,
'b' => 2,
'c' => 3
],
2 => [
'a' => 1,
'b' => 2,
'c' => 3
],
];
要将这些数据存储在 MySQL 中,您将创建一个如下所示的表:
CREATE TABLE test (
id INT UNSIGNED NOT NULL PRIMARY KEY,
a INT UNSIGNED NOT NULL,
b INT UNSIGNED NOT NULL,
c INT UNSIGNED NOT NULL
);
此方法使您能够有效地查询数据。以下是 MySQL 查询的示例:
SELECT * FROM test;
INSERT INTO test (id, a, b, c) VALUES (1, 1, 2, 3);
其他替代方案
如果必须将数组存储在单个字段,您还可以考虑使用 JSON 函数:
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3