Ошибка вставки MySQL: № 1136 — количество столбцов не соответствует количеству значений в строке 1.

Я пытаюсь ввести значение непрерывного подсчета дебетовых кредитов в столбец saldo, вот мой код sql

Я хочу сделать дебет - кредит и поместить в столбец saldo, мой запрос выше позволяет мне получить значения saldo, но не потерпит неудачу при вставке

SET @variable = 0;
-- Without Pagination
INSERT into laporan_bukubesar (`saldo`)
SELECT        `tanggal`, `debit`, `kredit`, @variable := @variable + (`debit` - `kredit`) as `saldo`
FROM          laporan_bukubesar
ORDER BY      `tanggal` ASC;

#1136 - Количество столбцов не соответствует количеству значений в строке 1

Вот моя таблица

Вот что я хочу


person fahmi zikrul    schedule 03.08.2020    source источник
comment
Пожалуйста, предоставьте образцы данных и желаемые результаты.   -  person Gordon Linoff    schedule 03.08.2020
comment
@GordonLinoff обновил свой вопрос, сэр, это то, что я хочу, но это всего лишь представление, я хочу вставить значение saldo в свою таблицу   -  person fahmi zikrul    schedule 03.08.2020
comment
Ваш INSERT содержит один столбец (saldo), в который вы пытаетесь поместить несколько значений. В сообщении об ошибке ясно сказано, что количество столбцов не соответствует количеству значений.   -  person Ken White    schedule 03.08.2020


Ответы (1)


Вы хотите обновить значение:

UPDATE laporan_bukubesar
    SET saldo = (@variable := @variable + (`debit` - `kredit`))
    ORDER BY tanggal ASC;
person Gordon Linoff    schedule 03.08.2020
comment
Это работает, сэр, спасибо за помощь, я просто добавляю SET @variable = 0; в начале SET @variable = 0; ОБНОВЛЕНИЕ laporan_bukubesar SET saldo = (@variable:= @variable + (debit - kredit)) ORDER BY tanggal ASC; - person fahmi zikrul; 03.08.2020