MySQL 中并没有直接的数组类型,但可以通过以下几种方式实现数组的功能:
serialize()
函数),然后存储在 VARCHAR
或 TEXT
类型的字段中。-- 创建表
CREATE TABLE example (
id INT PRIMARY KEY AUTO_INCREMENT,
data JSON
);
-- 插入数据
INSERT INTO example (data) VALUES ('["apple", "banana", "orange"]');
-- 查询数据
SELECT data FROM example WHERE JSON_CONTAINS(data, '"apple"');
-- 创建表
CREATE TABLE example (
id INT PRIMARY KEY AUTO_INCREMENT,
data TEXT
);
-- 插入数据
INSERT INTO example (data) VALUES (serialize(array('apple', 'banana', 'orange')));
-- 查询数据
SELECT unserialize(data) FROM example WHERE unserialize(data) LIKE '%apple%';
-- 创建主表
CREATE TABLE example (
id INT PRIMARY KEY AUTO_INCREMENT
);
-- 创建关联表
CREATE TABLE example_items (
id INT PRIMARY KEY AUTO_INCREMENT,
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, 'orange');
-- 查询数据
SELECT item FROM example_items WHERE example_id = @example_id;
通过以上方式,可以在 MySQL 中实现数组类型的功能,并根据具体需求选择合适的方式。
云+社区沙龙online [国产数据库]
云+社区沙龙online[数据工匠]
企业创新在线学堂
云+社区沙龙online第5期[架构演进]
企业创新在线学堂
云+社区沙龙online [技术应变力]
企业创新在线学堂
云+社区沙龙online第5期[架构演进]
云+社区技术沙龙[第17期]
云+社区沙龙online [国产数据库]
领取专属 10元无门槛券
手把手带您无忧上云