insert mysql com condicional

MySQL

26/10/2016

tem como realizar um insert no mysql usando condicionais?
exemplo:
se quantidade < 300
insert in to produtos (preco)
values (70.00);
Michael Batista

Michael Batista

Curtidas 0

Melhor post

Luiz Santos

Luiz Santos

26/10/2016

Michael.
O comando INSERT não aceita clausula WHERE.
O que você pode fazer é um UPDATE, caso o registro já exista na base (ai sim com clausula WHERE) ou um IF dentro de uma procedure.
Mas isso depende do que exatamente você pretende fazer.

Grande abraço
GOSTEI 1

Mais Respostas

Michael Batista

Michael Batista

26/10/2016

eu tenho um aplicação em que os usuários podem cadastrar produtos para venda, eu quero limitar a quantidade de produtos que cada usuário pode cadastrar. caso ultrapasse o limite de 10 itens por usuário, quero que ele não permita o insert
GOSTEI 0
Luiz Santos

Luiz Santos

26/10/2016

Michael, acho que você não vai escapar de usar uma procedure (caso resolva isso no banco)

Primeiro pegaria a quantidade de itens que o cliente cadastrou

SELECT @QTD := COUNT(1) FROM TABALA WHERE USUARIO = 'XPTO'
.

Depois faria um IF

IF @QTD < 10 THEN 
   INSERT INTO ....;
ELSE
   SELECT 'LIMITE ATINGIDO';
END IF


se estiver desenvolvendo em alguma linguagem, você pode fazer essa checagem dentro dela em vez de fazer no SQL.

Espero ter ajudado.

Grande abraço
GOSTEI 1
POSTAR