💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۱۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ Alirezas25
خطای (errno: 150 "Foreign key constraint is incorrectly formed")
محسن موحد حل شده توسط محسن موحد

سلام استاد من چک کردم و type‌های user_id و author_id کاملا یکسانه ولی بازم این خطا رو میگیرم موقع اجرای migrate

user_id: {
        type: Sequelize.INTEGER.UNSIGNED,
        allowNull: false,
        autoIncrement: true,
        primaryKey: true
      },
      author_id: {
        type: Sequelize.INTEGER.UNSIGNED,
        allowNull: false,
        references: {
          model: "User",
          key: "user_id"
        },
        onUpdate: "CASCADE",
        onDelete: "SET NULL"
      },

سلامی دوباره من مشکل قبل رو حل کردم الان به یک error جدید برخوردم

ERROR: Cannot add or update a child row: a foreign key constraint fails (`database_development`.`posts`, CONSTRAINT `posts_ibfk_1` FOREIGN KEY (`author_id`) REFERENCES `users` (`user_id`))
Alirezas25 ۲۶ مهر ۱۴۰۳، ۲۳:۰۷

سلام،

1. مطمئن شو author_id که می‌خوای وارد کنی توی جدول users وجود داره.
2. اگه از onDelete: "SET NULL" استفاده می‌کنی، allowNull برای author_id رو به true تغییر بده یا به جای onDelete: "SET NULL" از onDelete: "CASCADE" استفاده کن تا وقتی رکورد کاربر حذف شد، تمام پست‌های مربوطه هم حذف بشن.
3. مطمئن شو که ترتیب ایجاد جدول‌ها در migration درست باشه (اول users، بعد posts).

بهترین پاسخ
محسن موحد ۲۸ مهر ۱۴۰۳، ۰۰:۲۹