这应该是一个相当简单的问题,但我无法在线找到可靠的答案。我试图将多个行插入到同一表中,但只有一条语句。我在网上看到的最受欢迎的是以下内容,但我读到它仅适用于SQL
Server 2008:
INSERT INTO Table (Name, Location) VALUES
('Name1', 'Location1'),
('Name2', 'Location2'),
('Name3', 'Location3'), etc...
如果此方法可与SQL Server 2005一起使用,我会更喜欢此方法,但我认为不会。根据我的阅读,另一个选项与INSERT之后的UNION
ALL以下SELECT语句有关,这似乎很笨拙。有谁知道在2005年执行此操作的最佳语法?
谢谢。
是的。您必须UNION ALL
在SQL Server 2005中使用,才能在单个语句中的SQL脚本中插入多行。
INSERT INTO Table
(Name, Location)
SELECT 'Name1', 'Location1'
UNION ALL
SELECT 'Name2', 'Location2'
UNION ALL
SELECT 'Name3', 'Location3'
另一个主要的选择是Insert
多次重复该语句,这更加冗长。在后一种情况下,您需要小心使用显式事务,以避免许多单独提交的开销(当然,出于原子性原因)
如果要插入很多行,则可以使用BULK INSERT在一个语句中从定界文件中全部加载。
最后,如果这是您要脚本化的数据库中已经存在的数据(可能要部署在其他服务器上),则SSMS Tools
Pack
插件具有“生成插入语句”功能,可以为您生成这些语句。
问题内容: 我想编写脚本,具有对多个插入查询的功能。让我更好地解释一下。 我有一个html形式的输入。而且我有MySQL查询要插入到表中。所以我想让我的函数为“数量”次插入此查询。 例如要插入3次。有什么建议么? 问题答案: http://dev.mysql.com/doc/refman/5.5/zh- CN/insert.html
我有以下疑问: 正如预期的那样,我得到了以下结果: 有没有办法将上述结果复制到另一个表中,使我的表看起来像这样? 我的问题是,可以预期任何数量的行,因此我不确定如何迭代未知数量的行。
问题内容: 我有以下查询: 并按预期得到以下结果: 有没有一种方法可以将上述结果复制到 另一个表中, 以便我的表看起来像这样? 我的问题是,可以预期任意数量的行,因此不确定如何遍历未知数量的行。 问题答案: 使用Eloquent或查询构建器在Laravel中进行批量插入确实很容易。 您可以使用以下方法。 在您的情况下,您已经在变量中包含了数据。
问题内容: 我有一个SQL查询,我想在单个查询中插入多行。所以我用了类似的东西: 问题是当我执行此查询时,我想检查是否应检查例如上面的键(不是),如果已经存在,则应更新相应的整行,否则将其插入。 例如,在下面的示例中,如果数据库中已经存在该行,则应更新整行,而不考虑字段的数量。再次,如果不存在,则应插入该行。 我想到使用: 这是陷阱。我对如何进行感到困惑和困惑。我一次有多个行要插入/更新。请给我一
问题内容: 我目前在MySQL上使用这种类型的SQL在单个查询中插入多行值: 关于PDO的阅读,使用准备好的语句应该比静态查询为我提供更好的安全性。 因此,我想知道是否可以使用准备好的语句生成“通过使用一个查询插入多行值”。 如果是,请问我该如何实施? 问题答案: 使用PDO预准备语句插入多值 在一个execute语句中插入多个值。为什么这样,因为根据此页面,它比常规插入更快。 更多的数据值,或者
问题内容: 我需要用一个查询插入多行(行数不是常数),所以我需要像这样执行查询: 我知道的唯一方法是 但我想要一些更简单的方法。 问题答案: 我构建了一个程序,该程序将多行插入到位于另一个城市的服务器上。 我发现使用此方法的速度大约是的10倍。就我而言,tup是一个包含约2000行的元组。使用此方法大约花了10秒钟: 使用此方法需要2分钟: