table 可以在单行中有单列的多条记录吗?

Can a table have multiple records of a single column in a single row?

有一个 table 'items' 列:item_name、i_code、items_left 和价格。它存储商店出售的所有物品。还有一个table'customers'。它存储访问商店的所有顾客的记录。我想记录特定客户购买的所有商品。我想在 'customers' table 中创建一个列 'items_bought',用于存储特定客户购买的所有商品的商品代码。但是对于一个特定的客户行拥有多个项目代码是不可能的。请帮助我在单行客户中获得 items_bought 的多个记录。

这是可能的,但不建议, 您可以使用
或逗号或 environment.newline

将商品代码保存在客户 table 中

但是除了显示没有任何用处

我建议的解决方案是创建一个新的 table CustomerItem,具有 CustomerId、ItemId 和其他公共属性,应该在 Customer 和 Item 之间,如购买率、购买时间等(您不能在上面的方法中这样做) )

答案是,是的,您可以在每一行的单个字段中有多个值。逗号分隔的字段可能是一个解决方案。

如果您使用的是关系数据库,那么如果您创建一个新的 table,比方说 items_bought,它将保存客户与购买的商品之间的关系,您的生活会更轻松。

例如

create table `items_bought`
 (id int not null primary key,
 item_id int not null,
 customer_id int not null)

每个字段 item_idcustomer_id 将分别有 items.idcustomers.id table 字段的外键。

这样您就不需要管理字符串和解析逗号分隔值。您可以简单地查询您的 table,例如:

select * 
from `items` i 
 inner join `items_bought` ib on i.id = ib.item_id
 inner join `customers` c on ib.customer_id = c.id

以上查询将 return 已购买至少一件商品的客户的所有客户和商品信息。