标签: insert

将set设置为另一组

是否有更好的方法将集合附加到另一个集合而不是迭代每个元素?

我有 :

set<string> foo ;
set<string> bar ;

.....

for (set<string>::const_iterator p = foo.begin( );p != foo.end( ); ++p)
    bar.insert(*p);
Run Code Online (Sandbox Code Playgroud)

有没有更有效的方法来做到这一点?

c++ insert set

50
推荐指数
2
解决办法
4万
查看次数

SQL使用随机数据填充表

我有一个包含两个字段的表:

  1. id(UUID)是主键和
  2. 说明(var255)

我想用SQL语句插入随机数据.我希望这种描述是随机的.

PS:我正在使用PostgreSQL.

sql postgresql insert

49
推荐指数
3
解决办法
5万
查看次数

PHP mySQL - 在主键上使用自动递增将新记录插入表中

想知道是否有速记版本将新记录插入到启用了主键的表中?(即不必在查询中包含键列)让我们说键列是ID,其他列是Fname,Lname和Website

$query = "INSERT INTO myTable VALUES ('Fname', 'Lname', 'Website')";
Run Code Online (Sandbox Code Playgroud)

php mysql insert auto-increment

48
推荐指数
3
解决办法
18万
查看次数

使用SubQuery MySQL插入INTO

我有这个声明:

INSERT INTO qa_costpriceslog (item_code, invoice_code, item_costprice)
    VALUES (1, 2, (SELECT item_costprice FROM qa_items WHERE item_code = 1));
Run Code Online (Sandbox Code Playgroud)

我正在尝试插入值副本与item_costprice的相同数据,但显示错误:

Error Code: 1136. Column count doesn't match value count at row 1
Run Code Online (Sandbox Code Playgroud)

我怎么能解决这个问题?

mysql insert subquery

48
推荐指数
2
解决办法
6万
查看次数

PostgreSql INSERT FROM SELECT RETURNING ID

在PostgreSql 9.2.4中我有两个表:user (id, login, password, name)dealer (id, user_id).

我想插入两个表格,返回创建的经销商的ID.

目前我正在做两个查询:

WITH rows AS (
    INSERT INTO "user"
        (login, password, name)
    VALUES
        ('dealer1', 'jygbjybk', 'Dealer 1')
    RETURNING id
)
INSERT INTO dealer (user_id)
    SELECT id
    FROM rows;
SELECT currval('dealer_id_seq');
Run Code Online (Sandbox Code Playgroud)

但是我可以INSERT使用RETURNING语句通过单个查询实现这个吗?

sql postgresql insert postgresql-9.2

48
推荐指数
2
解决办法
7万
查看次数

SQL Server:无法在时间戳列中插入显式值

使用此声明时

create table demo (
    ts timestamp
)

insert into demo select current_timestamp
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

无法将显式值插入时间戳列.将INSERT与列列表一起使用以排除时间戳列,或将DEFAULT插入时间戳列

如何将当前时间插入timestamp列?

sql timestamp insert sql-server-2008

47
推荐指数
6
解决办法
13万
查看次数

如何在body标签中insertBefore()元素?

我试图在js中使用insertBefore,如下所示:

var p = document.createElement("p");
p.innerHTML = "test1";
document.body.insertBefore(p, null);

var p = document.createElement("p");
p.innerHTML = "test2";
document.body.insertBefore(p, null);
Run Code Online (Sandbox Code Playgroud)

但是这会在body标签关闭之前添加最后一个p元素,我怎么能使用它以便在打开时添加到顶部?所以添加的最后一个元素将是body标签内的第一个元素.

我试过了:

document.body.insertBefore(p, document.getElementsByTagName('body')[0]);
Run Code Online (Sandbox Code Playgroud)

但是萤火虫表明:

找不到节点"代码:"8

javascript dom insert getelementsbytagname

46
推荐指数
2
解决办法
6万
查看次数

使用另一个选择查询的结果将数据插入表中

我寻求帮助的以下问题:我有两个表 Table_1itemid,locationid,quantity

Table_2itemid,location1,location2,location3

我想将数据从Table_1(仅quantity列)复制到Table_2(进入location1列).将itemid在这两个表相同的(Table_1有重复项的ID),所以这就是我要复制到新表,并保持在一个单一的行中的所有数量与每个位置为一列的原因.我使用以下查询但它不起作用

INSERT INTO 
Table_2(location1) 
(
 SELECT qty 
 FROM Table_1 
 WHERE locationid = 1 AND Table_1.locationid = Table_2.locationid
)
Run Code Online (Sandbox Code Playgroud)

mysql select insert

45
推荐指数
1
解决办法
10万
查看次数

PostgreSQL中的批量/批量更新/ upsert

我正在编写一个Django-ORM增强版,它尝试缓存模型并推迟模型保存直到事务结束.这几乎已经完成,但是我在SQL语法中遇到了意想不到的困难.

我不是一个DBA,但据我所知,数据库并不能真正有效地处理许多小问题.几个更大的查询要好得多.例如,最好使用大批量插入(比如一次100行)而不是100个单行.

现在,从我所看到的,SQL并没有真正提供任何语句来对表执行批量更新.这个词似乎令人困惑,我会解释我的意思.我有一个任意数据数组,每个条目描述一个表中的一行.我想更新表中的某些行,每个行都使用数组中相应条目的数据.这个想法非常类似于批量插入.

例如:我的表可以有两列"id""some_col".现在描述用于在批处理更新的数据阵列由三个条目的(1, 'first updated'),(2, 'second updated')(3, 'third updated').更新前表中包含行:(1, 'first'),(2, 'second'),(3, 'third').

我来到这篇文章:

为什么批量插入/更新更快?批量更新如何工作?

这似乎做我想要的,但我最终无法弄清楚语法.

我还可以删除所有需要更新的行,并使用批量插入重新插入它们,但我发现很难相信这实际上会更好.

我使用PostgreSQL 8.4,因此这里也可以使用一些存储过程.然而,当我计划最终开源项目时,任何更便携的想法或方法在不同的RDBMS上做同样的事情是最受欢迎的.

后续问题:如何批量"插入或更新"/"upsert"语句?

检测结果

我已经执行了100次10次插入操作,分布在4个不同的表中(总共1000个插入).我使用PostgreSQL 8.4后端在Django 1.3上进行了测试.

这些是结果:

  • 通过Django ORM完成的所有操作 - 每次通过~2.45秒,
  • 相同的操作,但没有Django ORM - 每次通过~1.48秒,
  • 只插入操作,而不查询数据库的序列值~0.72秒,
  • 仅插入操作,以10块为单位执行(总共100块)~0.19秒,
  • 只插入操作,一个大的执行块~0.13秒.
  • 只插入操作,每块大约250条语句,~0.12秒.

结论:在单个connection.execute()中执行尽可能多的操作.Django本身带来了巨大的开销.

免责声明:除了默认主键索引之外,我没有引入任何索引,因此插入操作可能会因此而运行得更快.

sql database postgresql insert sql-update

45
推荐指数
4
解决办法
7万
查看次数

如何在Swift中的字符串中的特定索引处添加字符

我在Swift中有这样的字符串:

var stringts:String = "3022513240"
Run Code Online (Sandbox Code Playgroud)

如果我想将它更改为字符串,如下所示:"(302)-251-3240",我想在索引0处添加括号,我该怎么做?

在Objective-C中,它是这样完成的:

 NSMutableString *stringts = "3022513240";
 [stringts insertString:@"(" atIndex:0];
Run Code Online (Sandbox Code Playgroud)

怎么在Swift中做到这一点?

string insert ios swift

45
推荐指数
7
解决办法
5万
查看次数