Как ВСТАВИТЬ новую строку со значением столбца, равным MAX() + 1 таблицы, с помощью построителя запросов CodeIgniterPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как ВСТАВИТЬ новую строку со значением столбца, равным MAX() + 1 таблицы, с помощью построителя запросов CodeIgniter

Сообщение Anonymous »

Я выполняю следующий запрос:

Код: Выделить всё

SELECT @newNo := MAX( category_code) FROM category_master;
INSERT INTO category_master VALUES (@newNo +1,  'Test')
Два последовательных запроса выполняются безупречно в phpMyAdmin, но появляется ошибка базы данных, когда я пытаюсь выполнить их как один запрос с помощью запроса CodeIgniter().

У вас есть ошибка в синтаксисе SQL; проверьте руководство, которое
соответствует вашей версии сервера MySQL, чтобы узнать правильный синтаксис, который следует использовать
рядом с «INSERT INTO Category_master VALUES(@newNo+1, 'Test')» в строке 2

В чем может быть причина?
В моей модели CodeIgniter я использую следующий код:

Код: Выделить всё

$query = 'SELECT @newNo := MAX(category_code) FROM category_master;
INSERT INTO category_master VALUES(@newNo+1, \'' . $category_name . '\')';
$result = $this->db->query($query);
Как создать новую строку со следующим кодом категории?

Подробнее здесь: https://stackoverflow.com/questions/119 ... ax-1-using
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»