sql >> Databasteknik >  >> RDS >> Mysql

sequelize - Kan inte lägga till främmande nyckel-begränsning

Detta är ett vanligt typfel som främst uppstår på grund av

1. När primärnyckelns datatyp och främmande nyckel datatyp matchade inte

return sequelize.define('RefreshToken', {
    userId: {
      type: DataTypes.INTEGER(11), // The data type defined here and 
      references: {
        model: 'Users',
        key: 'idUsers'
      }
    }, 


return sequelize.define('Users', {
    idUsers: {
      type: DataTypes.INTEGER(11),  // This data type should be the same
    },

2. När den refererade nyckeln inte är en primär eller unik nyckel.

Du kan inte ha två primärnycklar, så andra refererade nycklar bör definieras unika. unique:true

 return sequelize.define('Users', {
    idUsers: {
      primaryKey: true  
    },
    mail: {
      type: DataTypes.STRING(45),
      allowNull: false,
      primaryKey: true   // You should change this to 'unique:true'. you cant hv two primary keys in one table. 
    }


  1. MySQL-felkod:1030Fick fel -1 från lagringsmotorn; Jag har försökt ta bort data från min databas

  2. SQL Hur ersätter man värden för select return?

  3. riktigt enkel SQL Inte ett GROUP BY-uttryck - Oracle

  4. Hur TRUNCATE() fungerar i MariaDB