在 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