sql >> Database >  >> RDS >> Mysql

sequelize - Kan geen beperking voor refererende sleutels toevoegen

Dit is een veelvoorkomende typefout die voornamelijk optreedt vanwege

1. Wanneer het gegevenstype van de primaire sleutel en het gegevenstype van de refererende sleutel kwam niet overeen

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. Als de sleutel waarnaar wordt verwezen geen primaire of unieke sleutel is.

U kunt geen twee primaire sleutels hebben, dus andere sleutels waarnaar wordt verwezen, moeten uniek worden gedefinieerd. 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. Hoe kan ik een gemiddelde maken van datums in MySQL?

  2. SQL Server-machtigingen op opgeslagen processen met dynamische SQL

  3. Variabele doorgeven in mysql_query

  4. PLSQL-lus door JSON-object