chengzhnag数据库下records表结构

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

# 字段详细说明

# 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

# 查询数据

-- 查询指定用户的所有记录
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

# 更新数据

-- 更新记录内容
UPDATE records 
SET content_text = '更新后的工作总结内容', 
    updated_at = datetime('now', 'localtime') 
WHERE id = 1;
1
2
3
4
5

# 注意事项

  1. 外键约束: creator_id必须是users表中已存在的用户ID
  2. 媒体字段: content_media建议存储相对路径或URL链接
  3. 时间字段: created_at和updated_at字段由系统自动维护
  4. 扩展字段: extra_data字段存储JSON字符串,应用层需进行序列化/反序列化处理
  5. 数据安全: 涉及文件上传时,需在应用层验证文件类型和大小
Last Updated: 7/30/2025, 3:22:52 AM