显然,以下是不正确的。
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)”