MySQL本身并不直接支持数组类型的数据存储,但可以通过以下几种方式来保存数组数据:
json_encode
),然后存储为VARCHAR或TEXT类型。-- 创建表
CREATE TABLE example (
id INT AUTO_INCREMENT PRIMARY KEY,
data JSON
);
-- 插入数据
INSERT INTO example (data) VALUES ('["apple", "banana", "cherry"]');
-- 查询数据
SELECT data->"$[1]" AS fruit FROM example;
-- 创建表
CREATE TABLE example (
id INT AUTO_INCREMENT PRIMARY KEY,
data TEXT
);
-- 插入数据(PHP示例)
$data = ['apple', 'banana', 'cherry'];
$serialized_data = json_encode($data);
INSERT INTO example (data) VALUES ($serialized_data);
-- 查询数据(PHP示例)
$result = mysqli_query($conn, "SELECT data FROM example WHERE id = 1");
$row = mysqli_fetch_assoc($result);
$unserialized_data = json_decode($row['data'], true);
echo $unserialized['1']; // 输出 "banana"
-- 创建主表
CREATE TABLE example (
id INT AUTO_INCREMENT PRIMARY KEY
);
-- 创建关联表
CREATE TABLE example_items (
id INT AUTO_INCREMENT PRIMARY KEY,
example_id INT,
item VARCHAR(255),
FOREIGN KEY (example_id) REFERENCES example(id)
);
-- 插入数据
INSERT INTO example () VALUES ();
SET @example_id = LAST_INSERT_ID();
INSERT INTO example_items (example_id, item) VALUES (@example_id, 'apple'), (@example_id, 'banana'), (@example_id, 'cherry');
-- 查询数据
SELECT item FROM example_items WHERE example_id = 1;
通过以上方式,可以根据具体需求选择合适的方法来保存数组数据。
云+社区沙龙online[数据工匠]
云+社区沙龙online [技术应变力]
腾讯云存储知识小课堂
腾讯云数智驱动中小企业转型升级系列活动
云+社区沙龙online
小程序·云开发官方直播课(数据库方向)
腾讯云湖存储专题直播
领取专属 10元无门槛券
手把手带您无忧上云