Я пытаюсь получить количество строк в таблице, а затем вставить это число в ту же таблицу, все с одним запросом. Я посмотрел на подзапрос, и это throws error, так как я делаю это на та же таблица.mysqli - INSERT с COUNT в одной таблице в одном запросе?
Затем я просмотрел переменные, и он работает, но mySQL по-прежнему выдает ошибку о пустом результате.
SET @nums := (SELECT COUNT(*) FROM myitems);
INSERT INTO myitems (`label`, `counted`) VALUES ('blah', @nums);
Могу ли я доверять, что это будет надежным? Я не супер эксперт по SQL-операторам.
PS: Я знаю около AUTO_INCREMENT
, которые вы, возможно, думаете, должны быть использованы здесь. Я упростил свою ситуацию, чтобы удержать вопрос esy, чтобы переварить (и, надеюсь, ответ).
почему вы хотите это сделать? – Strawberry
Почему люди опрокидывают вопросы только потому, что не понимают их? Я хочу получить текущее количество строк в таблице 'myitems' и вставить этот номер в свой оператор' INSERT', все в одном выражении. Если бы я объяснил все причины, по которым мне пришлось бы опубликовать 250 строк кода, и никто не захочет просеивать их. – tim
Поощрять OP для их улучшения. Это все. Ничего более злокачественного. Если вы хотите изменить свой вопрос, выполните его и отредактируйте. Не комментируйте это. Это просто глупо. Кстати, решение, которое вы предложили, испорчено. Он страдает от того, что известно как состояние гонки. – Strawberry