gpt4 book ai didi

mysql - 从数据库中获取特定数据

转载 作者:搜寻专家 更新时间:2023-10-30 20:51:47 24 4
gpt4 key购买 nike

我在从数据库中获取正确数据时遇到问题。

我有一个包含 3 列的 PRODUCTS 表:

id, Name and Category 

而且,我有一个包含 3 列的数据表:

id, Name, products_id(F.K)

现在,假设我的 Products 表中有一个带有值的条目

(1, "iPhone 6S", "Mobiles") 

并且,在数据表中我有多个名称条目:

iPhone 6s 16GB, 
iPhone 6s 32GB,
iPhone 6s Plus 16GB,
iPhone 6s Plus 32GB

等等。现在我只想要 iPhone 6s,而不是 iPhone 6s Plus

在下面的代码中,我正在更新 products_id,它匹配 Name of products 和 Name of DATA。通过这样做,我得到了 iPhone 6siPhone 6s Plus

我只想要 iPhone 6s

@P1 = Product.where(id: 1).pluck(:Name)
@arr = @P1[0].split
Data.where("Name like ? AND Name like ? AND Name like ? AND Name like ? ",
"%#{@arr[0]}%",
"%#{@arr[1]}%",
"%#{@arr[2]}%",
"%#{@arr[3]}%").update_all(products_id:1)

现在使用上面的代码,我在 iPhone 6s 和 iPhone 6s Plus 前面获得了 products_id。我不想把它放在 iPhone 6s Plus 前面。执行此操作的任何其他方法也可能会有所帮助。非常感谢!

最佳答案

如果你想完全匹配名字,搜索完整的字符串而不是类似的。

 name = Product.where(id: 1).pluck(:Name)
Data.where(Name: name).updated_all(products_id: 1)

关于mysql - 从数据库中获取特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39987668/

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