Неправильно указано следующее.Выберите из той же таблицы, что и вставка или обновление
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 - Вы не можете указать целевую таблицу 'ATable' для обновления в ЕКОМ
Итак, я пытаюсь создать таблицу растровых изображений, каждая строка соответствует одному биту и имеет «карту» va ЛУЭ.
Чтобы вставить в таблицу, я не хочу делать два запроса, я хочу сделать это. Как мне это сделать?
Никто не прокомментировал это, но поскольку я пытаюсь сделать растровое изображение, это должно быть * 2 not^2, моя ошибка, пожалуйста, обратите внимание, что поэтому комментарии часто говорят^2, это была ошибка в версию, которую читают комментаторы.
Нет, я пытаюсь выбрать из той же таблицы, что и вставка, и MySQL не нравится это. Sory, я не набрал запрос правильно в первый раз, но Select все еще был прав , – 2008-10-15 15:37:52
hrm. Хорошо, имеет ли mySQL пользовательские функции? Таким образом, вы можете создать функцию, которая возвращает текущий «MAX (` A`) »и использовать его в вашем заявлении? – stephenbayer 2008-10-15 15:39:55
Он делает (хранимые процедуры), но я не уверен, что это позволит вам это сделать. Стоит попробовать – 2008-10-15 15:41:39