我正在尝试获取表中的行数,然后将该数字插入到同一个表中,所有这些都使用单个查询。我查看子查询并且抛出错误,因为我在同一个表上执行此操作。
然后我查看变量并且它可以正常工作,但mySQL仍会抛出关于空结果的错误。
SET @nums := (SELECT COUNT(*) FROM myitems);
INSERT INTO myitems ( `label`, `counted`) VALUES ('blah', @nums);
我能相信这会很健壮吗?我不是SQL语句的超级专家。
PS:我知道你可能认为应该在这里使用的AUTO_INCREMENT
。我简化了我的情况,以保持问题消化(并希望回答)。
答案 0 :(得分:0)
为什么不使用INSERT ... SELECT?
INSERT INTO myitems( `label`, `counted`)
SELECT 'blah', COUNT(*) FROM myitems;
我不知道你为什么要这样做,但确实回答了你的问题