我想将所有数据从field_id_41移动到field_id_380,其中weblog_id = 191
这两个字段属于同一个表:exp_weblog_data
我不想在没有问这里的情况下运行任何东西,我开始把它放在一起:
UPDATE
exp_weblog_data
SET
field_id_380 = (SELECT field_id_41 FROM exp_weblog_data
WHERE (field_id_41 != '' and weblog_id = 191))
WHERE
weblog_id = 191
答案 0 :(得分:13)
真的不需要子查询。您可以在同一行中获取另一列的值,并将其设置在第一列中:
UPDATE
exp_weblog_data
SET
field_id_380 =field_id_41
WHERE
weblog_id = 191
AND
field_id_41 != ''
答案 1 :(得分:5)
也许是这样的:
UPDATE
exp_weblog_data
SET
field_id_380 =field_id_41, field_id_41 = ''
WHERE
weblog_id = 191
AND
field_id_41 != ''
答案 2 :(得分:0)
如果我是你,我会做的是备份该数据库并将其托管在另一台(或同一台)服务器上。一旦你完成了这一切,你就可以随心所欲地进行实验,而不必担心失去任何实际数据。不过,那个查询对我来说很好。