问题标签 [insert]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
155 浏览

sql - 是否可以获取 SELECT 的结果并将它们输入 VALUES 子句?

例如,有没有办法执行以下操作:

0 投票
4 回答
2995 浏览

c# - 在 C# 中生成批量插入语句的最佳方法?

我需要将一堆类似的记录插入表中,并且想知道是否有一种很好/简单的方法可以做到这一点。

我知道只构建一个大字符串很容易,但我希望我能找到一种更优雅的方式来做到这一点。

0 投票
12 回答
951681 浏览

mysql - “INSERT IGNORE”与“INSERT ... ON DUPLICATE KEY UPDATE”

在执行INSERT包含多行的语句时,我想跳过否则会导致失败的重复条目。经过一些研究,我的选择似乎是使用以下任一:

  • ON DUPLICATE KEY UPDATE这意味着以某种代价进行不必要的更新,或者
  • INSERT IGNORE暗示其他类型的失败会在未经通知的情况下溜进来。

我的这些假设是对的吗?简单地跳过可能导致重复的行并继续到其他行的最佳方法是什么?

0 投票
4 回答
638 浏览

perl - 如何为具有不同数量值的 DBI 插入编写子例程?

我正在做很多插入查询,我认为最好为它编写一个子例程。类似的东西insertRow($table, @stuff_to_insert)@stuff_to_insert但是,当涉及到1-5 个参数时,如何使子例程动态化?

0 投票
5 回答
16744 浏览

sql - 使用 MySQL,如何在另一个表中不存在该值的情况下插入一个表?

我有一个 MySQL 数据库,我想在一个表中插入一些值,假设我插入的特定值与不同表中的值不匹配。

这是一个简化/示例结构:

假设“名称”与单个语句中的“donotinvite”表中的任何“名称”都不匹配,是否可以有条件地将“名称”和“消息”对插入到“邀请”表中?

大概是这样的吧?

0 投票
6 回答
4650 浏览

oracle - 以错误的方式插入 Oracle - 如何处理?

我刚刚找到以下代码:

我可以为 PK 创建一个序列,但有一堆现有代码(经典 asp、不属于该项目的现有 asp.net 应用程序)不会使用它。

我应该忽略它,还是有办法在不进入现有代码的情况下修复它?

我认为最好的选择就是这样做:

选项?

0 投票
5 回答
2102 浏览

java - 优化 java.util.Map/Set 中的插入速度

有没有办法通过指定项目的顺序来优化 java.util.Collection 中的插入速度?

例如

将这个解决方案:

比这个更快(随机顺序)?

(以及其他集合的相同问题:HashMap,hastable ...)

谢谢

0 投票
3 回答
6562 浏览

database - 仅当对象不存在时才使用休眠将对象插入数据库

假设我有一个以 user_id 作为主键的映射用户对象,以及一个具有唯一约束的邮件列。我希望我的程序仅在用户表不存在时才将用户对象保存到用户表中。

我可以在我的插入函数中执行以下操作:

  1. 开始交易
  2. 使用给定邮件查询用户
  3. 如果它不存在,创建一个新用户并使用会话保存它
  4. 如果失败则提交或回滚

有两个问题:

  1. 执行两个查询很昂贵。如果我使用纯 SQL,我可能会使用“INSERT IGNORE”语法,但在我的情况下,我想使用休眠保存方法,并且我想最后保存用户对象。有解决办法吗?
  2. 并发。我的应用程序的两个实例是否有可能同时运行。两者都将使用具有相同“mail”参数的“addUser”函​​数。第一个将经历第 2 阶段,并且找不到使用该邮件的用户。第二个也将通过第 2 阶段而没有找到用户,因为第一个实例仍然没有保存他的用户并提交。然后第一个实例将保存并提交用户,然后第二个实例将保存并提交用户,该用户与第一个实例的邮件具有相同的邮件。当然它会失败,因为约束。我错过了什么吗?

如果我是对的,我应该怎么做:

  1. 希望它不会发生。
  2. 在事务开始时锁定用户表以进行读写。
  3. 将 try...except 添加到函数中,这将排除唯一约束异常,如果抛出异常,将仅根据其邮件从数据库中选择用户。
  4. 其他解决方案...
0 投票
7 回答
4090 浏览

performance - 如果表有很多记录(400K)与空表相比,插入速度要慢 4 倍

(数据库:Oracle 10G R2)

向表中插入 100,000 条记录需要 1 分钟。但是如果表已经包含一些记录(400K),那么需要4分12秒;CPU-wait 也跳了起来,“Free Buffer Waits”变得非常高(来自 dbconsole)。

你知道这里发生了什么吗?这是因为频繁的表范围吗?这些表的范围大小为 1,048,576 字节。我有一种感觉 DB 正在尝试扩展表存储。

我真的很困惑。所以任何帮助都会很棒!


这是插入语句:


这里的 dstat输出(CPU、IO、MEMORY、NET)为:

  1. 空表插入: http: //pastebin.com/f40f50dbb
  2. 包含 400K 记录的表:http: //pastebin.com/f48d8ebc7

输出自v$buffer_pool_statistics


更新

我从该表中删除了索引,即使将 100K 插入 600K 记录表(在没有 CPU 等待的情况下花费了 47 秒 - 请参阅 dstat 输出http://pastebin.com/fbaccb10)时,性能也大大提高。

0 投票
2 回答
5510 浏览

mysql - MySQL INSERT INTO ... SELECT 抛出错误 1064

试图复制表中的一些行,但只是将ssreportid列从 4 更改为 6:

错误在“select 6, ...”附近显示 #1064 但如果我只运行 select 子句,它会完美地选择记录,ssreportid列中的新 id 为 6。

该表有一个名为 ssreportparticipantid 的主键,并且在 (ssreportid, sssurveyparticipantid) 上有一个唯一键。请注意,select 子句创建具有唯一键对的新记录,所以这不是问题。我尝试在 select 子句周围加上括号,甚至为表格使用两个别名,但并不快乐。

使用服务器版本 5.0.45。

请告诉我,程序员的疲劳让我错过了一个逗号或其他东西。

谢谢,

-乔什