table_a
有一个常规列,叫做 item_id
与 int
类型,并且它目前没有索引。table_b
有一列叫做 item_id
我想拥有的参考 item_id
在 table_a
所有这些在正常情况下都是可以的,但是, table_a.item_id
不能设置唯一的索引约束,因为有的行包含相同的值。
如何才能 table_b.item_id
创建一个外键映射来引用 table_a.item_id
当我无法设置 table_a.item_id
与unique?
我如何设置一个非唯一的索引,以便我可以映射关系?
你不应该需要将table_a中的item_id标记为唯一的,以使其成为一个外键。
await knex.schema.createTable('table_b', (t) => {
t.integer('item_id').unsigned().notNullable();
t.foreign('item_id')
.references(`table_a.item_id`)
.onDelete('cascade')
.onUpdate('cascade');
});