chengzhnag数据库下records表结构
zgrowth 7/30/2025
# Records 记录表结构文档
# 表基本信息
- 表名: records
- 用途: 存储用户创建的各种记录内容
- 数据库: SQLite
# 字段说明
字段名 | 数据类型 | 允许空值 | 主键 | 唯一约束 | 默认值 | 说明 |
---|---|---|---|---|---|---|
id | INTEGER | NO | YES | NO | AUTOINCREMENT | 记录唯一标识符,主键 |
creator_id | INTEGER | NO | NO | NO | 无 | 创建人ID,外键关联users表 |
content_text | TEXT | YES | NO | NO | NULL | 文本内容 |
content_media | TEXT | YES | NO | NO | NULL | 媒体内容(图片、视频、文件链接等) |
created_at | TEXT | YES | NO | NO | datetime('now', 'localtime') | 创建时间 |
updated_at | TEXT | YES | NO | NO | datetime('now', 'localtime') | 更新时间 |
extra_data | TEXT | YES | NO | NO | NULL | 扩展数据(JSON格式字符串) |
# SQL创建语句
CREATE TABLE records (
id INTEGER PRIMARY KEY AUTOINCREMENT,
creator_id INTEGER NOT NULL,
content_text TEXT,
content_media TEXT,
created_at TEXT DEFAULT (datetime('now', 'localtime')),
updated_at TEXT DEFAULT (datetime('now', 'localtime')),
extra_data TEXT,
FOREIGN KEY (creator_id) REFERENCES users(id)
);
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 字段详细说明
# 1. id
- 类型: INTEGER
- 约束: PRIMARY KEY, AUTOINCREMENT
- 说明: 记录唯一标识符,系统自动生成
# 2. creator_id
- 类型: INTEGER
- 约束: NOT NULL, FOREIGN KEY
- 说明: 创建人ID,关联users表的id字段,标识记录的创建者
# 3. content_text
- 类型: TEXT
- 约束: 可为空
- 说明: 文本内容字段,用于存储纯文本记录信息
# 4. content_media
- 类型: TEXT
- 约束: 可为空
- 说明: 媒体内容字段,用于存储图片、视频、文件等的链接地址
- 可存储单个链接或多个链接(建议使用JSON数组格式)
- 支持各种媒体类型:图片(.jpg, .png等)、视频(.mp4, .avi等)、文档(.pdf, .doc等)
# 5. created_at
- 类型: TEXT
- 约束: 可为空
- 默认值: 当前时间戳
- 说明: 记录创建时间,系统自动设置
# 6. updated_at
- 类型: TEXT
- 约束: 可为空
- 默认值: 当前时间戳
- 说明: 记录最后更新时间,系统自动维护
# 7. extra_data
- 类型: TEXT
- 约束: 可为空
- 说明: 扩展数据字段,存储JSON格式字符串
- 可包含标签、分类、优先级等附加信息
- 支持自定义字段,便于后续功能扩展
# 使用示例
# 插入数据
-- 插入纯文本记录
INSERT INTO records (creator_id, content_text, content_media, extra_data)
VALUES (1, '今日工作总结:完成了用户管理模块的开发', NULL, '{"tags": ["工作", "开发"], "category": "技术"}');
-- 插入带图片的记录
INSERT INTO records (creator_id, content_text, content_media, extra_data)
VALUES (2, '项目界面截图', '["/uploads/screenshot1.png", "/uploads/screenshot2.png"]', '{"project_id": 1001, "version": "v2.1"}');
-- 插入文件记录
INSERT INTO records (creator_id, content_text, content_media, extra_data)
VALUES (3, '相关技术文档', '["/files/tech_doc.pdf"]', '{"document_type": "技术文档", "department": "研发部"}');
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 查询数据
-- 查询指定用户的所有记录
SELECT * FROM records WHERE creator_id = 1;
-- 关联查询用户信息
SELECT r.*, u.account as creator_account, u.name as creator_name
FROM records r
JOIN users u ON r.creator_id = u.id
ORDER BY r.created_at DESC;
-- 根据内容关键词查询
SELECT * FROM records WHERE content_text LIKE '%工作总结%';
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 更新数据
-- 更新记录内容
UPDATE records
SET content_text = '更新后的工作总结内容',
updated_at = datetime('now', 'localtime')
WHERE id = 1;
1
2
3
4
5
2
3
4
5
# 注意事项
- 外键约束: creator_id必须是users表中已存在的用户ID
- 媒体字段: content_media建议存储相对路径或URL链接
- 时间字段: created_at和updated_at字段由系统自动维护
- 扩展字段: extra_data字段存储JSON字符串,应用层需进行序列化/反序列化处理
- 数据安全: 涉及文件上传时,需在应用层验证文件类型和大小