将当前的Mysql表中最大id值,更新为其它字段的值

我想将最大 值的id 更新 为当前表中其它的字段,这个sql语句 报错了。
不知道该 怎么修改哈。好像 oracle中不会出错呢..

 update comment_global set comment_target_id = (
            SELECT max(id) FROM comment_global
        )

首先借用以下楼上的 

UPDATE comment_global 
SET comment_target_id = (select id from (
    SELECT max(id) as id FROM comment_global
) as c)
 

其次你是不是没有条件限制
comment_target_id 的值全部改成id的值吗?
还是说id是条件
comment_target_id 的值改成id 的值

UPDATE comment_global 
SET comment_target_id =(SELECT id FROM (
    SELECT MAX(id) AS id FROM comment_global
) AS c)
WHERE id=
(SELECT id FROM (
    SELECT MAX(id) AS id FROM comment_global
) AS c)

类似这样:
update user a , (select MAX(md) md , MAX(md)+1 mdinc from user ) b set a.md =b.mdinc where a.md= b.md

mysql 查询更新同一张表是不允许的吧 你要先把查询的结果放一张临时表里

select的结果作为临时中间表就行

UPDATE comment_global 
SET comment_target_id = (select id from (
    SELECT max(id) as id FROM comment_global
) as c)

这样

update comment_global c,(SELECT max(id) as id FROM comment_global) c2 
set c.comment_target_id = c2.id

用下面这个语句:
update comment_global set comment_target_id = (select t.id from ( SELECT max(id) as id FROM comment_global ) as t)