当前位置: 首页 > news >正文

同一个用户对同一个作品只能有一条收藏记录,但不同用户可以收藏同一个作品的mysql数据表实现

同一个用户对同一个作品只能有一条收藏记录,但不同用户可以收藏同一个作品的mysql数据表实现

✅ 方案一:数据库层面添加复合唯一索引(推荐)

在 userCollect 表中添加一个复合唯一索引 (uid, wikiID),确保每个用户对每个作品只能有一条记录。

$sql2 = "CREATE TABLE IF NOT EXISTS userCollect (id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,artworkid INT(11), -- 暂时允许为 NULL,先测试网站功能status ENUM('wish', 'watch', 'watched', 'pause', 'drop') NOT NULL,wikiID VARCHAR(255) NOT NULL,uid INT(11) NOT NULL,stars TINYINT UNSIGNED NOT NULL DEFAULT 0,FOREIGN KEY (artworkid) REFERENCES artwork(id),UNIQUE KEY unique_user_wiki (uid, wikiID) -- 添加复合唯一索引
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci";

说明

  • UNIQUE KEY unique_user_wiki (uid, wikiID):确保 (uid, wikiID) 组合唯一。
  • 这样,同一个用户无法重复收藏同一个作品,但不同用户可以收藏同一个作品。
http://www.jsqmd.com/news/398472/

相关文章:

  • 2026年污水处理设备品牌精选,这些靠谱之选不容错过,8040反渗透膜/保安过滤器滤芯,污水处理设备销售厂家有哪些 - 品牌推荐师
  • 清单来了:8个降AI率平台深度测评,专科生必看!
  • ChatGLM-6B惊艳案例集:多轮上下文理解精准表现
  • ChatGLM3-6B-128K参数高效微调:Adapter技术实战
  • MedGemma 1.5开箱即用:无需联网的医疗AI解决方案
  • Calibre
  • ChatGLM3-6B镜像免配置实战:开箱即用的本地AI助手完整搭建流程
  • 沃尔玛购物卡回收流程,一步操作轻松变现 - 团团收购物卡回收
  • SenseVoice Small法律实务工具:案件讨论录音→争议焦点自动提取+类案推送
  • LoRA权重管理技巧:Lingyuxiu MXJ多版本风格自由切换
  • 从安装到使用:Hunyuan-MT Pro多语言翻译全攻略
  • HY-Motion 1.0在运维自动化中的实践应用
  • 小白必看:EagleEye目标检测镜像快速部署指南
  • RMBG-2.0效果验证:在工业检测场景中识别PCB板透明保护膜边缘的可行性测试
  • YOLO12性能测试:nano版131 FPS实测数据
  • StructBERT情感分类:社交媒体舆情监控一键部署
  • 手把手教你用影墨·今颜制作专业级人像作品
  • 零代码部署:用星图平台玩转Qwen3-VL:30B多模态AI
  • PETRV2-BEV模型训练全流程:从环境搭建到可视化推理
  • DamoFD人脸检测模型性能实测:速度与精度双优
  • 这次终于选对!9个AI论文软件测评:专科生毕业论文+开题报告写作神器推荐
  • VibeVoice多模态交互系统:语音与视觉反馈融合设计
  • 多模态神器mPLUG-Owl3-2B体验:一键修复原生报错,新手友好部署
  • Qwen3-VL-8B多模态评估基准:MMBench/OCRBench在本地环境跑分结果分享
  • 一键部署MedGemma:打造专属医学影像分析平台
  • 镜像宣城示范工程:三维空间计算重塑城市运行逻辑——从视频孪生到镜像孪生的时代跨越
  • 基于RexUniNLU的Dify平台智能插件开发指南
  • 从零开始:用BEYOND REALITY Z-Image制作个人艺术写真集
  • 基于Gemma-3-12B-IT的自动化测试脚本生成
  • PowerPaint-V1实战案例:电商产品图智能修图技巧