Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

sekuel - Tidak dapat menambahkan batasan kunci asing

Ini adalah kesalahan tipe yang umum terjadi terutama karena

1. Ketika tipe data kunci utama dan kunci asing tipe data tidak cocok

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. Ketika kunci yang direferensikan bukan kunci utama atau kunci unik.

Anda tidak dapat memiliki dua kunci utama, jadi kunci referensi lainnya harus didefinisikan unik. 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. Bagaimana cara menyandikan cyrillic di mysql?

  2. MySQL Select ID yang muncul pada baris yang berbeda dengan beberapa nilai spesifik untuk sebuah kolom

  3. Bagaimana cara AUTOINCREMENT mulai dari angka/offset tertentu?

  4. Hibernasi bergabung dengan dua tabel dan menghasilkan respons json di layanan web musim semi yang tenang?

  5. Memasukkan data ke dalam beberapa tabel PHP MySQL