Erro:"Column count doesn't match value count at row 1" MySQL

Bom dia galera, estou desenvolvendo um sistema aqui para empresa de controle de inventário de equipamento, eu tenho uma trigger que toda vez que eu insiro uma troca de equipamento no sistema ele deve atualizar a quantidade em estoque e algumas informações do equipamento, porém como as empresa conta com mais de 700 equipamentos, suas informações no banco de dados serão inseridas conforme o sistema for utilizado. Ao fazer uma troca de equipamento, caso o equipamento não esteja cadastrado, e própria trigger deve inseri-lo na tabela “equipamentos”, quando eu tento inserir uma troca, cujo equipamento não está cadastrado ele apresenta esse erro “Column count doesn’t match value count at row 1” se eu cadastrar antes, o inserção é concluida com sucesso

DROP TRIGGER ATUALIZA_ESTOQUE_TROCA;
DELIMITER //
CREATE TRIGGER ATUALIZA_ESTOQUE_TROCA BEFORE INSERT ON TROCAS
FOR EACH ROW
BEGIN
	DECLARE QTD INTEGER DEFAULT (SELECT `estoque`.`quantidade`FROM `inventario`.`estoque` WHERE EQUIPAMENTO = NEW.EQUIPAMENTO);
    DECLARE EXISTE_RECEBIDA INTEGER DEFAULT (SELECT COUNT(*) FROM `inventario`.`EQUIPAMENTOS` WHERE `EQUIPAMENTOS`.`n_serie` = NEW.N_SERIE_RECEBIDA);
	DECLARE EXISTE_ENTREGUE INTEGER DEFAULT (SELECT COUNT(*) FROM `inventario`.`EQUIPAMENTOS` WHERE `EQUIPAMENTOS`.`n_serie` = NEW.N_SERIE_ENTREGUE);	
        /*Adiciona equipamentos caso não existirem*/


       IF EXISTE_RECEBIDA = 0 THEN 
			INSERT INTO `inventario`.`equipamentos`
				(`n_serie`,
				`equipamento`,
				`estado`,
				`status`,
				`proprietario`,
				`defeito`,
                `localizacao`)
				VALUES
				(new.n_serie_recebida,
				new.equipamento,
				false,
				"Retorno de troca",
				"Não especificado",
				new.defeito,
                new.prefixo);
		END IF;
        
        IF EXISTE_ENTREGUE = 0 THEN 
			INSERT INTO `inventario`.`equipamentos`
				(`n_serie`,
				`equipamento`,
				`estado`,
				`status`,
				`proprietario`,
				`defeito`,
				`localizacao`)
				VALUES
				(new.n_serie_entregue,
				new.equipamento,
				TRUE,
				"Em estoque",
				"Não especificado",
				"Não há defeitos"
                "Allibus");
		END IF;
        
        /*desconta no estoque o equipamento entregue*/
UPDATE `inventario`.`estoque` 
SET 
    `quantidade` = QTD - 1,
    `data_atualizacao` = NOW()
WHERE
    `equipamento` = NEW.EQUIPAMENTO;
        
        /*Atualiza informações dos equipamentos*/
UPDATE `inventario`.`equipamentos` 
SET 
    `estado` = FALSE,
    `status` = 'Retorno de troca',
    `defeito` = new.defeito
WHERE
    `n_serie` = new.n_serie_recebida;

UPDATE `inventario`.`equipamentos` 
SET 
    `status` = CONCAT('Instalado no veiculo ', new.prefixo),
    `localizacao` = new.prefixo
WHERE
    `n_serie` = new.n_serie_entregue;
        


END; //

DELIMITER ;

Falta ali uma virgula

1 curtida

Muito obrigada pmlm, procurei pela falta de virgula e não havia encontrado, problema resolvido, muito obrigada