sql >> データベース >  >> RDS >> Mysql

sequelize-外部キー制約を追加できません

    これは一般的なタイプのエラーで、主に

    が原因で発生します。

    1。主キーのデータ型と外部キーのデータ型の場合 一致しませんでした

    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。参照されるキーが主キーまたは一意キーではない場合。

    2つの主キーを持つことはできないため、他の参照キーは一意に定義する必要があります。 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. PHP(MySQL)エラー:警告:mysql_num_rows()はパラメーター1がリソースであることを期待しています

    2. call_user_func_array()を使用してプリペアドステートメントを動的に構築します

    3. SQLServerでマスターデータベースを簡単に再構築する方法

    4. UTF-8列のSQLAlchemyの結果はタイプ'str'ですが、なぜですか?