Sql 使用外键大容量插入多个表
我有一个自定义字段建模系统,可以通过使用联接表将其附加到多种类型的记录。字段本身不知道它们所附加到的记录Sql 使用外键大容量插入多个表,sql,sql-server,Sql,Sql Server,我有一个自定义字段建模系统,可以通过使用联接表将其附加到多种类型的记录。字段本身不知道它们所附加到的记录 custom_fields ------------- int: id name: varchar(50) type: int field_values ------------ int: id value: varchar(255) 要将字段附加到博客文章,我将创建以下连接表 blog_post_fields ---------- id: int custom_field_id: in
custom_fields
-------------
int: id
name: varchar(50)
type: int
field_values
------------
int: id
value: varchar(255)
要将字段附加到博客文章,我将创建以下连接表
blog_post_fields
----------
id: int
custom_field_id: int
blog_post_field_values
----------------------
id: int
blog_post_id: int
blog_post_field: int
到目前为止,这种方法工作得很好,允许使用标记等模型字段,在这些字段中,可以将字段附加到具有相同值池的多个实体
我遇到的问题是批量插入。假设我想创建一个名为
expires
的新字段,并更新我现有的所有博客文章,使其值为never
。鉴于上述模式,我如何才能为我的所有博客文章插入blog\u post\u值
和相应的字段\u值
?如果每当有新字段时都插入值,这与向表中添加新列有何不同?如果默认值为never
,那么您可能应该在数据之外的某个地方处理它。如果有人想要从不,但默认值发生了变化,会发生什么情况?我不能完全理解您的数据模型,但要做您想要做的事情,只需插入到linkTable中,从现有BlogTable中选择blogid