mysqli - 在一个查询中,在同一个表上使用COUNT INSERT?

时间:2013-11-13 00:32:19

标签: mysql insert mysqli count mysqli-multi-query

我正在尝试获取表中的行数,然后将该数字插入到同一个表中,所有这些都使用单个查询。我查看子查询并且抛出错误,因为我在同一个表上执行此操作。

然后我查看变量并且它可以正常工作,但mySQL仍会抛出关于空结果的错误。

SET @nums := (SELECT COUNT(*) FROM myitems);
INSERT INTO myitems ( `label`, `counted`) VALUES ('blah', @nums);

我能相信这会很健壮吗?我不是SQL语句的超级专家。

PS:我知道你可能认为应该在这里使用的AUTO_INCREMENT。我简化了我的情况,以保持问题消化(并希望回答)。

1 个答案:

答案 0 :(得分:0)

为什么不使用INSERT ... SELECT

INSERT INTO myitems( `label`, `counted`)
SELECT 'blah', COUNT(*) FROM myitems;

我不知道你为什么要这样做,但确实回答了你的问题