Sequelize获得重复输入:'ER_DUP_ENTRY'

时间:2016-11-20 22:17:19

标签: javascript node.js express sequelize.js

我收到了这个错误:

Uncaught ReferenceError: Invalid left-hand side in assignment

我该如何解决这个问题?

这是我的models / user.js

code: 'ER_DUP_ENTRY',
     errno: 1062,
     sqlState: '23000',
     index: 0,
     sql: 'INSERT INTO `users` (`id`,`name`,`environment_hash`) VALUES (DEFAULT,\'dasxdsvfbw\',\'2ec13352-89cc-4921-806f-22c1f3bdf29c\');' },
  sql: 'INSERT INTO `users` (`id`,`name`,`environment_hash`) VALUES (DEFAULT,\'dasxdsvfbw\',\'2ec13352-89cc-4921-806f-22c1f3bdf29c\');' }

这是我的routes.js:

"use strict";

module.exports = function(sequelize, DataTypes) {
  var User = sequelize.define("User", {
    id:  { 
          type: DataTypes.INTEGER, 
          autoIncrement: true, 
          primaryKey: true
        },
    name: DataTypes.STRING,
    environment_hash: {
          type: DataTypes.STRING,
          defaultValue: DataTypes.UUIDV4
        }
  }, {
    tableName: 'users',
    underscored: false,
    timestamps: false
  }

  );

  return User;
};

1 个答案:

答案 0 :(得分:0)

Sequelize then回调的第一个参数是查询结果,而不是错误。所有错误都由catch回调处理。 Sequelize查询的语法:

Model.find().then(function(result){
    //handling result
}).catch(function(error){
    //handling error
});