gpt4 book ai didi

mysql - 根据另一个表的数据删除逗号分隔字段中的条目

转载 作者:行者123 更新时间:2023-11-29 13:53:49 24 4
gpt4 key购买 nike

首先我使用的是 MySQL 5.0.96。 (总是忘记提及这一点)

我有两个表(TMP_VIN_STOCKnewvehicles),我每天都会使用当前的车辆库存加载 TMP_VIN_STOCK

newvehicles 是我们网站表格中当前列出的车辆。

我想查找 newvehicles 中不在 TMP_VIN_STOCK 中的结果。 (所以我可以从网站上删除它们,因为我们卖掉了它们)

TMP_VIN_STOCK.namenewvehicles.stocknum 是每个表的库存编号列。

TMP_VIN_STOCK.name 仅具有单个库存编号值newvehicles.stocknum 可以有多个值,用逗号分隔。 (同一辆车,只是多个库存编号)

示例:

TMP_VIN_STOCK 表

- K12049
- S12040
- T12020

新车表

- S12018, S12039, S12040
- Y13068, Y13093
- T12020

如何找出哪些库存编号不在 TMP_VIN_STOCK 中但在新车中?

最佳答案

您的问题完美地说明了为什么关系数据库中的表应该规范化。

如果你想保留这个设计,那么你必须这样做:

loop over the newvehicles rows:
loop over the items in the comma separated field
check if the item does not exist in TMP_VIN_STOCK

更不用说mysql没有分割逗号分隔列表的功能更不用说您应该经历从逗号分隔列表中删除找到的那些的痛苦了。

您绝对应该重新设计您的数据库。准备一张用于车辆数据的表和另一张用于库存数据的表,并将它们与外键链接起来。这样你就不必经历所有这些痛苦。您可以通过简单的查询检索所需的数据。

此外,如果某个条目不在库存中,则不应删除其数据,但计数应为零或应标记为缺货。

关于mysql - 根据另一个表的数据删除逗号分隔字段中的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16225533/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com