Mysql
 sql >> Baza danych >  >> RDS >> Mysql

sequelize - Nie można dodać ograniczenia klucza obcego

Ten typowy błąd występuje głównie z powodu

1. Kiedy typ danych klucza podstawowego i klucz obcy typ danych nie pasuje

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. Gdy przywoływany klucz nie jest kluczem podstawowym ani unikalnym.

Nie możesz mieć dwóch kluczy podstawowych, więc inne klucze, do których się odwołujesz, powinny być zdefiniowane jako unikatowe. 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jmeter wyświetla błąd:nie można utworzyć PoolableConnectionFactory (odmowa dostępu dla użytkownika „[email protected]”@„118.185.61.226” (przy użyciu hasła:YES))

  2. Hierarchiczna baza danych MySQL Closure Table - Jak wyciągnąć informacje we właściwej kolejności

  3. Różnica między instrukcjami sql a klauzulą

  4. Czy Dapper działa na Mono?

  5. Wyjątek podczas próby uruchomienia programu Java z maven