我正在尝试运行此查询
UPDATE xxxxx_k2_categories SET params = (SELECT params FROM xxxxx_k2_categories WHERE alias = 'bread') WHERE parent = 1 MySQL
但是我得到了1093错误。我知道这是因为我试图从它自己的值更新表格,但我不太了解Mysql。虽然这真的帮助我学习:)。
非常感谢任何帮助。
这是我的数据。
Alias Parent Params Bakery 0 {Test Params 1} Bread 1 {Test Params 2} Rools 1 {Test Params 3}
我想复制项目'面包'的params中的值。对于值为' 1'
的所有行答案 0 :(得分:1)
改为使用join
:
UPDATE xxxxx_k2_categories x cross join
(SELECT params FROM xxxxx_k2_categories WHERE alias = 'bread') b
SET x.params = b.params
WHERE parent = 1;
答案 1 :(得分:0)
是否 SELECT params FROM xxxxx_k2_categories WHERE alias =' bread'
返回超过1条记录? 如果是这样可能是问题