SQL:在所有字段或多个查询中插入1个查询?

tri*_*199 0 php mysql sql insert

所以我对PHP页面在表中插入新行的最佳实践有疑问.有一些必填字段(aka NOT NULL)和一些可选字段(可以是NULL).是否更好地使用一个查询插入所有内容,或者只是执行必填字段,获取插入的ID并使用一个或多个其他查询更新其他字段?

如果我使用a进行多次更新,会有很大的性能影响where <primary key> = "x"吗?或者更好的做多个更新,以便如果其中一个可选更新不起作用,其余的更新?

Lar*_*tig 6

通常,您应该使用所有值执行单个INSERT.这在数据库处理方面会更便宜,但同样重要的是(或者更多)它会使您的应用程序代码更加简单.

我不确定为什么替代方案甚至会发生在您身上,但它让我觉得可能有一些应用程序特定的原因,您认为某些子列值将被拒绝.如果是这样,请告诉您更多关于您的具体情况.