mysql-在一个表中更新不同的行
我有这张桌子: 它通过这个查询从mytable中选择不同的代码,即tariff_diff . 现在,如果代码超过1,我想更新tariff_diff=1。例如,我想更新tariff_diff=1,其中行Kuta,DPS50xxx 我试过: 更新mytable设置费率_diff=1 其中inselect distinct code,tariff_diff from mytable 但是我得到了错误的语法。mysql-在一个表中更新不同的行,mysql,Mysql,我有这张桌子: 它通过这个查询从mytable中选择不同的代码,即tariff_diff . 现在,如果代码超过1,我想更新tariff_diff=1。例如,我想更新tariff_diff=1,其中行Kuta,DPS50xxx 我试过: 更新mytable设置费率_diff=1 其中inselect distinct code,tariff_diff from mytable 但是我得到了错误的语法。 操作数应包含1列,如果要使用相同的代码更改所有行,可以使用此选项 UPDATE mytabl
操作数应包含1列,如果要使用相同的代码更改所有行,可以使用此选项
UPDATE mytable SET mytable.tariff_diff = 1 WHERE mytable.code IN(SELECT count(*), code, tariff_diff from mytable GROUP BY code HAVING count(*)>1)
如果您想用相同的代码修改所有行的代码,您可以使用这个
UPDATE mytable SET mytable.tariff_diff = 1 WHERE mytable.code IN(SELECT count(*), code, tariff_diff from mytable GROUP BY code HAVING count(*)>1)
据我所知,仅当多行前缀为Kuta,DPS50时,您才希望将关税_diff设置为1。存在在Kuta、DPS50.06、Kuta、DPS50.07、Kuta、DPS50.08、Kuta、DPS50.09、Kuta、DPS50.10上匹配 假设所有记录的格式都是:XXX,XXX。。您可以使用子字符串_INDEX解析前缀文本Kuta,DPS50。用作标识符 然后,您可以使用派生联接来匹配具有重复前缀值的代码,并更新匹配行。 如果没有重复值,则不会进行更新 示例:我为Petang添加了一个附加条目DPS50.02,以演示它对其他前缀值的作用 查询: 结果: 这也将避免SQL错误1093 不能更新表并在子查询中从同一表中进行选择
据我所知,仅当多行前缀为Kuta,DPS50时,您才希望将关税_diff设置为1。存在在Kuta、DPS50.06、Kuta、DPS50.07、Kuta、DPS50.08、Kuta、DPS50.09、Kuta、DPS50.10上匹配 假设所有记录的格式都是:XXX,XXX。。您可以使用子字符串_INDEX解析前缀文本Kuta,DPS50。用作标识符 然后,您可以使用派生联接来匹配具有重复前缀值的代码,并更新匹配行。 如果没有重复值,则不会进行更新 示例:我为Petang添加了一个附加条目DPS50.02,以演示它对其他前缀值的作用 查询: 结果: 这也将避免SQL错误1093 不能更新表并在子查询中从同一表中进行选择
无法在子查询的select语句中使用相同的更新表,您可以在此链接中找到原因: 请尝试以下查询:
SET @r_code = (select code from mytable GROUP BY code having count(code) > 1);
update mytable SET tariff_diff = 1 WHERE code in (@r_code);
您可以在此链接中找到有关变量的更多信息
首先,将id存储到some变量中,然后更新查询中使用的id。在子查询的select语句中不可能使用相同的更新表,您可以在此链接中找到原因: 请尝试以下查询:
SET @r_code = (select code from mytable GROUP BY code having count(code) > 1);
update mytable SET tariff_diff = 1 WHERE code in (@r_code);
您可以在此链接中找到有关变量的更多信息
首先,将id存储到some变量中,然后更新查询中使用的id。查看:mytable是否有主索引列?查看:mytable是否有主索引列?如果代码列可以包含多个。期间,请告诉我,我将提供一个替代方案。如果您的代码列可以包含多个。期间,让我知道,我会提供一个替代方案。