gpt4 book ai didi

php - 如何在表(MySQL DB)中为一行存储大量数据(超过 3000 行)?

转载 作者:行者123 更新时间:2023-11-29 05:14:54 25 4
gpt4 key购买 nike

我想在我的数据库中的一行中存储大量数据(日期),正确的方法是什么?

我举个例子:

如果我有各种各样的水果,我想统计这个月我吃了多少水果,我吃了多少水果。

这是我现在想做的,但我不确定这是正确和最好的方法:

"Fruit" Table: 
f_id, f_name (fruit name), f_data (fruit count for each day).

然后创建一个名为

的新表
"Data": 
dat_id, dat_date, dat_count, dat_friend_count.

并将唯一的 fruit_id 与 dat_id 连接起来。 (1 : n)

每当我想获得例如:显示我吃过的所有苹果 -> 并且苹果 ID 为 7,我在“数据”表中查找 ID 号 7,并使用日期。

这是处理这种数据/表结构的正确方法吗?

最佳答案

不,从关系的角度来看,你的例子是不正确的。

你应该有两个表:

Table "Fruit"
id | fruit_name

(这是您存储有关您拥有哪种水果的信息的地方)

Table "Eat"
id | fruit_id | fruit_count | date

(这是您记录所有 Action 的地方,即您每次吃水果的时间 - 时间和数量)

然后,要找出您在 2015 年 12 月总共吃了多少水果,您可以编写一个 SQL 查询:

SELECT COUNT(eat.fruit_count) FROM fruit
LEFT JOIN eat ON eat.fruit_id = fruit.id
WHERE eat.date >= '2015-12-01 00:00:00' AND eat.date <= '2015-12-31 23:59:59'

要知道你吃了多少水果,你应该在 WHERE 子句中添加水果的 ID:

SELECT COUNT(eat.fruit_count) FROM fruit
LEFT JOIN eat ON eat.fruit_id = fruit.id
WHERE eat.date >= '2015-12-01 00:00:00' AND eat.date <= '2015-12-31 23:59:59' AND fruit.id = '1'

关于php - 如何在表(MySQL DB)中为一行存储大量数据(超过 3000 行)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34398353/

25 4 0
文章推荐: php - sql注入(inject)登录表单错误
文章推荐: java - 使用 bcrypt 进行 Spring 身份验证
文章推荐: java - 无法从 XPathExpression 转换为 XPathExpression