2
respostas

show warning mysql

No exercício de tratativas de erros do mysql, ao tentar emular o mesmo erro, não ocorre nada, pois ao verificar o erro ao fazer a query no banco, ele da warning ao invés de erro de qualquer maneira gravando no banco, como faço para quando o mysql retornar um warning não gravar?

2 respostas

Olás, Júlio.

Qual é o warning que está dando. Por favor, você pode colocar o código que você fez?

Segue abaixo

Executei esse sql diretamente no banco INSERT INTO pagamento(valor,moeda) VALUES(99.5,'BRL20')

ele retornou esse warning 1 queries executed, 1 success, 0 errors, 1 warnings

Query: insert into pagamento(valor,moeda) values(99.5,'BRL20')

1 row(s) affected, 2 warning(s)

Execution Time : 0.246 sec Transfer Time : 0.001 sec Total Time : 0.247 sec

Warning Code : 1364 Field 'formapagamento' doesn't have a default value

Warning Code : 1265 Data truncated for column 'moeda' at row 1

PagamentosDao.js function pagamentosDao(conn){ this._conn=conn; }

pagamentosDao.prototype.salva=function(pagamento,callback){ this._conn.query("INSERT INTO pagamento set ?",pagamento,callback); }

pagamentosDao.prototype.lista=function(callback){ this._conn.query("SELECT * FROM pagamento",callback); }

module.exports = function(){ return pagamentosDao; }

Pagamento.js ---Controller module.exports =function(app){

app.get("/pagamentos",function(req,res){ res.send('

Ouvindo requisições da rota através do controller /

'); console.log('Rota /pagamentos'); });

app.post("/pagamentos/novo",function(req,res){ var pagamento = req.body;

pagamento.status="Create with success"; pagamento.create_data = new Date;

var conn = app.persist.connectionFactory(); var pagamentosDao = new app.persist.pagamentosDao(conn);

pagamentosDao.salva(pagamento,(erro,result)=>{ if(erro){ console.log(erro); res.status(400).send(erro); return; }

res.status(200).send(pagamento); });

}); }

ao efetuar o envio , ele não da warning e insere, já tentei usar o debug e como é warning acredito que o error do callback não pegue