sql - 如何在 SQL 中添加更新列以添加外键
问题描述
我正在创建一个 Ebay 克隆项目,用户可以在其中竞标多种产品。当一个项目的拍卖时间结束时,出价最高的用户将赢得该产品。这是我计划使用的当前 SQL 表:
如何创建 SQL 更新命令以将产品 ID 添加到用户 products_won 列?这是我现在的方式,但我怀疑它会起作用:
我理解多对多和一对多的关系,但这似乎是一对多的关系。既然用户可以赢得多个产品,那么产品只能有一个最高出价者吗?因为它看起来像是一对多的关系,所以我不相信我需要创建一个连接表。感谢任何帮助
解决方案
你想要一个“桥接”表,user_products
:
create table user_products (
email text foreign key references users(email),
product_id int foreign key references products(id)
);
然后要将产品分配给用户,您只需将其插入此表中。
话虽如此,您也确实希望表中也有一个自动递增的整数 id users
。字符串对于外键引用的效率略低。另外,您不希望 PII 用于标识任何引用用户的表中的记录。
推荐阅读
- c++ - 试图从多态函数中获得不同的输出
- php - vscode在Homestead环境下无法远程调试php代码但我前一天可以调试
- json - 将 Keenio 数据提取到谷歌电子表格中
- c++ - 两次模板
宣言 - java - 从节点调用 EJB 客户端
- angular - Angular 6,无法绑定到“org”,因为它不是“appCycleDirection”(指令)的已知属性
- elasticsearch - Scrapy 到 elasticsearch 批量导入?
- linux - 从 Bluez 5.48 开始如何写入特征
- c# - 使用 StackTrace 获取调用方法
- sql - SQL 错误 - “列定义不明确”