node mysql模块返回insertid为0解决方法
在用nodejs向MySQL插入数据的时候,获取返回值发现insertid一直是0,然后再获取的时候会获得比最新小1的值,比如说最新插入的值为1122,获取的id就是1121。
后来发现是因为获取id的时候,没有等待query执行完成就获取id了,而我们应该等待query执行完成后再获取id,这样才能获取到当前id。
但是当时给query加上await了,为什么不会执行呢?
因为query不支持异步操作,所以要重写query函数。
创建一个Promise然后将query放在里面进行执行,就可以了。
1 | async function query(query,params){ |
node mysql模块返回insertid为0解决方法
http://www.datehoer.com/posts/69c45d9a-6e80-11ee-a697-01b0896cf41d/