创建主表
首先,我们需要创建一个主表,用于存储不变的字段。假设我们创建了一个名为users的表,其中包含id、name和age三个字段。
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
age INT
);
创建动态字段表
接下来,我们需要创建一个用于存储动态字段的表,假设我们创建了一个名为dynamic_fields的表,其中包含field_name和field_value两个字段。
CREATE TABLE dynamic_fields (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT,
field_name VARCHAR(50),
field_value VARCHAR(50),
FOREIGN KEY (user_id) REFERENCES users(id)
);
动态字段表与主表进行关联
我们需要通过外键关联动态字段表和主表,以保证数据的一致性。这里我们使用user_id字段和id字段进行关联。
ALTER TABLE dynamic_fields
ADD FOREIGN KEY (user_id) REFERENCES users(id);
添加动态字段数据
INSERT INTO dynamic_fields (user_id, field_name, field_value)
VALUES (1, 'email', 'test@example.com');
查询数据
SELECT u.name, u.age, d.field_value AS email
FROM users AS u
LEFT JOIN dynamic_fields AS d
ON u.id = d.user_id
AND d.field_name = 'email';
Comments | NOTHING