Ошибка 1054 с триггером после обновления таблицы в MySQL

Надеюсь, я не добавляю ничего очевидного, но я боролся с этим Django и Ajax и JSON.

Предполагая, что в ваш код HTML вы используете двойные кавычки, как обычно должно быть, я настоятельно рекомендую использовать одинарные кавычки для остальных в JavaScript.

Итак, я согласен с @ady, но с некоторой осторожностью.

Моя нижняя строка: в JavaScript, вероятно, это не имеет значения, но как только вы вставляете ее в HTML или тому подобное, вы начинаете беспокоиться. Вы должны знать, что на самом деле ускользает, читает, передает вашу строку.

Мой простой случай:

tbox.innerHTML = tbox.innerHTML + '

' + myThis[i].fields.title +' ' + myThis[i].fields.description +'

'

Вы можете определить «в третьем поле showThis».

Двойная цитата не сработала!

Понятно почему, но также понятно, почему мы должны придерживаться одинарных кавычек ... .. Думаю ..

Этот случай представляет собой очень простое вложение HTML, ошибка была сгенерирована простой копией / вставкой из кода с двойным кавычками JavaScript.

Итак, чтобы ответить на вопрос:

Попробуйте использовать одинарные кавычки в HTML. Это может спасти пару проблем отладки ...

1
задан GMB 15 January 2019 в 17:41
поделиться

1 ответ

После некоторой работы я понял это.
Вот код для триггера для вставки на sales_order_parts. Он суммирует значение всех полей открытых ордеров order_quantity, сгруппированных по частям, и устанавливает значение в поле amount_allocated в master_parts_list. Он опускает все кавычки и уже заказанные заказы.

create trigger allocated_addition_insert
after insert on sales_order_parts
for each row
update master_part_list
set master_part_list.quantity_allocated=
    (select sum(order_quantity)
from
    sales_orders
        inner join
    sales_order_parts on sales_orders.id = sales_order_parts.order_id
where sales_orders.invoice_number is null 
and sales_order_parts.part_id = master_part_list.id 
and sales_orders.status <> "Quote" 
group by part_id);

Это обновление значения измененного количества в sales_order_parts. Вот код для триггера перед обновлением в sales_order_parts.

create trigger allocated_minus_update
before update on sales_order_parts
for each row
    update master_part_list set master_part_list.quantity_allocated = master_part_list.quantity_allocated - old.order_quantity
    where master_part_list.id = old.part_id;

Вот код для триггера после обновления на sales_order_parts.

create trigger allocated_add_update
after update on sales_order_parts
for each row
    update master_part_list set master_part_list.quantity_allocated = master_part_list.quantity_allocated + new.order_quantity
    where master_part_list.id = new.part_id;

Вот код для обновления на sales_orders.

delimiter $
create trigger allocated_order_on_hand_update
after update on sales_orders
for each row begin
    update master_part_list
    set master_part_list.quantity_on_hand = master_part_list.quantity_on_hand -
    coalesce((select sum(ship_quantity)
    from
    sales_order_parts
            inner join
    sales_orders on sales_orders.id = sales_order_parts.order_id
    where sales_orders.invoice_number = new.invoice_number
    and sales_order_parts.part_id = master_part_list.id
    and new.invoice_number > 0
    group by sales_order_parts.part_id),0);

    update master_part_list
    set master_part_list.quantity_allocated=
    (select sum(order_quantity)
    from
    sales_orders
        inner join
    sales_order_parts on sales_orders.id = sales_order_parts.order_id
    where sales_orders.invoice_number is null 
    and sales_order_parts.part_id = master_part_list.id 
    and sales_orders.status <> "Quote" 
    group by part_id);
end$
delimiter ;

Эти триггерные скрипты хорошо работают для меня, но любые предложения или комментарии приветствуются. Благодаря.

0
ответ дан Paul Santoro 15 January 2019 в 17:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: