mysql-从与插入或更新相同的表中选择

显然,以下是不正确的.

INSERT INTO `aTable` (`A`,`B`) VALUES((SELECT MAX(`A`) FROM `aTable`)*2),'name');

我得到的价值:

SQL查询:

INSERT INTO `aTable` (`A`, `B` )
VALUES 
(
  (
   SELECT MAX(`A`)
   FROM `aTable`
  ) *2
 , 'name'
)

MySQL说:

1093-您无法在FROM子句中指定目标表’aTable’用于更新

因此,我试图制作一个位图表,每一行对应一个位,并具有一个“ map”值.

要插入表中,我不想执行两个查询,而是想执行一个查询.
我应该怎么做?

没有人对此发表评论,但是由于我试图制作位图,应该是* 2而不是^ 2,是我的错误,请注意,这就是为什么评论经常说^ 2,这是评论者版本中的错误读.

最佳答案
尝试:

insert into aTable select max(a)^2, 'name' from aTable;

要么

insert into aTable select max(a)^2, 'name' from aTable group by B;

如果需要加入,可以执行以下操作:

insert into aTable select max(a)^2, 'name' from aTable, bTable;

我的“服务器版本”是“ 5.0.51b-community-nt MySQL社区版(GPL)”

转载注明原文:mysql-从与插入或更新相同的表中选择 - 代码日志