如何使用Nodejs在MySQL中自动设置user_id?

时间:2017-08-27 05:47:17

标签: javascript node.js asynchronous

您好我是NodejS的新手并且还在学习,所以我可能会犯错,我正在尝试通过编写代码来学习它,而且我来自java背景。 Asyc功能对我来说仍然是新手。

这是我的问题

我想从我的代码中为每个用户分配user_id。

.post('/register', function (req, res, next) {
   var username = req.body.uname;
   var password = req.body.psw;
   var email = req.body.uemail;
   var fullname = req.body.fullname;
   var user_id = sql_counts.sql_count()+1;
   console.log('Your user id is'+user_id);
   sql_connection.User.create({
       username:username,
       password:password,
       email:email,
       user_id:user_id
   },function (err) {
       if(!err){
           console.log('Successful');
           res.redirect('/registrationComplete');
       }else{
           console.log('Error creating');
       }
   });
}); 

这是我的sql_count函数:

function sql_count() {
    sql_connection.User.count().then(function (err) {
       initCounter =err;
    });
    return initCounter;
};

我想了解更多关于回电的信息,因为这对我来说是非常新的和令人困惑的。任何人都可以建议一些材料,链接,视频......虽然它在开始时似乎是理解我在尝试使用它时根本不理解它。还有如何将值从回调函数返回到outter函数?

在上面给出的代码中,如何将'then'部分的值返回到外部函数sql_count()?

2 个答案:

答案 0 :(得分:0)

使用 MYSQL AUTO_INCREMENT 功能为每个新用户(即每个新行)创建一个新的user_id,同时插入如下

CREATE TABLE USERS( user_id INT NOT NULL AUTO_INCREMENT);

欢呼声

对于回调和承诺结帐this video以及最新的等待/异步功能this video

答案 1 :(得分:0)

你可以在你的mysql表中使用自动增量列它会自动增加或使用随机函数生成id。我会先建议你