我正在制作一个使用 SQL 数据库的应用程序,该数据库将用户购买的产品的名称和价格存储在单个列中。在我的sql数据库中,我有一个只有3列的表,分别是id
、userName
和products
。
我希望能够将不同产品的名称
和价格
存储在产品
列中。
例如,假设user1
选择了两个项目,分别是花费200
的鱼
和肉
花费 500
。我希望它像这样插入
INSERT INTO PRODUCT ("[P1: fish,200],[p2: meat, 500]")...
输出应该如下所示
Name: "user1"
Products:
1. Product name: "fish"
Product price: "200"
2. Product name: "meat"
Product price: "500"
我对 sql 很陌生,如果以前有人问过这个问题,我很抱歉。我尝试搜索,但答案没有回答我的问题,有些人说你不能在列中存储多个数据,但我确信如果它将所有内容作为文本插入数据库中,它可以存储它。我只是不知道如何格式化该语句,以便我可以轻松删除信息并按输出中所示的方式排列它们
最佳答案
不要尝试将数据列表放入单个列中。
相反,PRODUCTS
表的每一行都应该是列表的一个元素。
我想说你的数据库应该是这样的:
PRODUCTS
PURCHASE_ID | PRODUCT_NAME | PRODUCT_PRICE
-------------+--------------+--------------
1 | oatmeal | 2.49
1 | eggs | 0.79
1 | cereal | 2.99
2 | milk | 1.25
2 | chicken | 7.49
2 | cereal | 2.99
3 | energy drink | 4.25
PURCHASES
ID | USER_NAME
---+----------
1 | billy bob
2 | john smith
3 | mark brown
在本例中,PRODUCTS->PURCHASE_ID
是与 PURCHASES->ID
配对的外键
要获取比利·鲍勃购买的产品:
SELECT (PRODUCT_NAME, PRODUCT_PRICE) FROM PRODUCTS WHERE PRUCHASE_ID == 1
关于java - 格式化多个数据以插入到 sqlite 中的单列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47801412/