MySQL根据条件每行更新值行
我有一个数据库(我运行的是MySQL 5.7),其中有两个表,其中包含有关机械部件及其库存的数据。要了解其可用性,一个关键组件的可用性至关重要。关键组件的库存在第二个表(attribute1)中 项目的库存将自动更新。目前,在MySQL根据条件每行更新值行,mysql,conditional-statements,Mysql,Conditional Statements,我有一个数据库(我运行的是MySQL 5.7),其中有两个表,其中包含有关机械部件及其库存的数据。要了解其可用性,一个关键组件的可用性至关重要。关键组件的库存在第二个表(attribute1)中 项目的库存将自动更新。目前,在attribute1字段中为每个部件手动设置关键部件。我正在寻找一种方法,通过检查attribute1中所述项目的stock,并将相关的stock值写入程序集的行,来更新每个程序集的stock 到目前为止,我最大的问题是找到一种方法,通过搜索inattribute1声明项并
attribute1
字段中为每个部件手动设置关键部件。我正在寻找一种方法,通过检查attribute1
中所述项目的stock
,并将相关的stock
值写入程序集的行,来更新每个程序集的stock
到目前为止,我最大的问题是找到一种方法,通过搜索inattribute1
声明项并复制现有的stock
值,让UPDATE
逐行更改。
由于我使用MySQL的经验非常有限,我只找到了一种方法,在检查了一个简单的条件(在attribute1
中编写的内容)后,使用UPDATE
来更改值:
我试图构建的查询是可行的还是遗漏了什么?
到目前为止,我头脑中的代码会在整个数据库中一遍又一遍地搜索每一行。有没有一种更快更优雅的方式来实现我的目标?
非常感谢您的帮助 寻找
更新程序集\u详细信息广告
在ad.name=aa.name上连接程序集\u属性aa
在aa.attribute1=ad2.name上连接程序集\u详细信息ad2
设置ad.stock=合并(ad.stock,ad2.stock);
Table: assemblies_details
id name stock
1 assembly1 ?
2 assembly2 ?
3 item1 1
4 item2 2
Table: assemblies_attributes
id name attribute1
1 assembly1 item1
2 assembly2 item2
3 item1
4 item2
UPDATE assemblies_details
SET attribute1 = CASE
WHEN LENGTH(assemblies_details.attribute1) > 0 THEN ???
ELSE NULL
END