Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用外键大容量插入多个表_Sql_Sql Server - Fatal编程技术网

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