1
這是我的第一個psql數據庫。我正在使用knex。在表上插入或更新違反外鍵約束PSQL/Knex
我有3個表格:users,users_posts和users_comments。我想設置它,以便用戶可以發佈內容並評論其他用戶帖子。
當我有種,我得到這個錯誤的users_comments:
insert or update on table "users_comments" violates foreign key constraint
如何修改我的表,以獲得users_comment表接受外國POST_ID鍵?或者,有沒有更好的方式讓我對帖子和用戶進行評論?
用戶表
table.increments();
table.string('username').notNullable().defaultTo('').unique();
table.string('email').notNullable().unique();
table.specificType('hashed_password', 'char(60)').notNullable();
table.timestamps(true, true);
users_posts表
table.increments();
table.integer('user_id')
.notNullable()
.references('id')
.inTable('users')
.onDelete('CASCADE')
.index();
table.string('post_title').notNullable().defaultTo('');
table.string('post_content').notNullable().defaultTo('');
table.timestamps(true, true);
users_comments表
table.increments();
table.integer('user_id')
.notNullable()
.references('id')
.inTable('users')
.onDelete('CASCADE')
.index();
table.integer('post_id')
.notNullable()
.references('id')
.inTable('users_posts')
.onDelete('CASCADE')
.index();
table.string('comment_content').notNullable().defaultTo('');
table.timestamps(true, true);
users_comments種子:
id: 1,
user_id: 1,
post_id: 1,
comment_content:"...",
created_at: new Date('2016-06-29 14:26:16 UTC'),
updated_at: new Date('2016-06-29 14:26:16 UTC')