IIUC:
DELIMITER $$
CREATE TRIGGER amount_due_cal BEFORE INSERT ON membership
FOR EACH ROW
BEGIN
SET NEW.amount_due := (
SELECT price FROM m_type WHERE type_id = New.type_id) - NEW.amount_paid;
END $$
DELIMITER ;
Если это не сработает, дайте мне знать.
Также обратите внимание, что type_id
должен быть уникальным индексом / первичным ключом для price
стол или это не сработает.