标签: insert

确保SQLite3中唯一行的有效方法

我在我的一个项目中使用SQLite3,我需要确保插入到表中的行对于它们的一些列的组合是唯一的.在大多数情况下,插入的行在这方面会有所不同,但如果匹配,新行必须更新/替换现有行.

显而易见的解决方案是使用复合主键,并使用conflict子句来处理冲突.在此之前:

CREATE TABLE Event (Id INTEGER, Fld0 TEXT, Fld1 INTEGER, Fld2 TEXT, Fld3 TEXT, Fld4 TEXT, Fld5 TEXT, Fld6 TEXT);
Run Code Online (Sandbox Code Playgroud)

成了这个:

CREATE TABLE Event (Id INTEGER, Fld0 TEXT, Fld1 INTEGER, Fld2 TEXT, Fld3 TEXT, Fld4 TEXT, Fld5 TEXT, Fld6 TEXT, PRIMARY KEY (Fld0, Fld2, Fld3) ON CONFLICT REPLACE);
Run Code Online (Sandbox Code Playgroud)

这确实强制执行我需要它的唯一性约束.不幸的是,这种变化也会导致性能损失超出我的预期.我使用sqlite3命令行实用程序进行了一些测试,以确保我的其余代码中没有错误.测试涉及在单个事务中或在每个1,000行的100个事务中输入100,000行.我得到了以下结果:

                                | 1 * 100,000   | 10 * 10,000   | 100 * 1,000   |
                                |---------------|---------------|---------------|
                                | Time  | CPU   | Time  | CPU   | Time  | CPU …
Run Code Online (Sandbox Code Playgroud)

sql sqlite performance insert

26
推荐指数
2
解决办法
1万
查看次数

list extend()to index,不仅将list元素插入到结尾

我正在寻找实现list extend函数版本的最pythonic方法,它扩展到给定的索引而不是列表的末尾.

a_list = [ "I", "rad", "list" ]                                                       
b_list = [ "am", "a" ]
a_list.my_extend( b_list, 1 ) # insert the items from b_list into a_list at index 1

print( a_list ) # would output: ['I', 'am', 'a', 'rad', 'list']
Run Code Online (Sandbox Code Playgroud)

有没有办法在没有建立新列表的情况下这样做?

a_list = [ "I", "rad", "list" ]
b_list = [ "am", "a" ]
c_list = []

c_list.extend( a_list[:1] )
c_list.extend( b_list     )
c_list.extend( a_list[1:] )

print( c_list ) # outputs: ['I', 'am', 'a', 'rad', 'list']
Run Code Online (Sandbox Code Playgroud)

这种方法实际上并不是那么糟糕,但我预感到它可能会更容易.可以吗?

python list insert

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

常量错误中的新行

我正在编写ac#代码,我从数据库中获取值并使用它.我面临的问题如下.

如果我从数据库中获取的值是:

 string cat1 = "sotheby's";
Run Code Online (Sandbox Code Playgroud)

现在使用这个猫我想在单引号之前插入一个转义字符,为实现这一点,我写了下面的代码:

  string cat1 = "sotheby's";
                    if (cat1.Contains("'")) {
                        var indexofquote = cat1.IndexOf("'");
                        cat1.Insert(indexofquote-1,"\");
                        var cat2 = cat1;
                    }
Run Code Online (Sandbox Code Playgroud)

插入行中的错误上升,反斜杠(转义字符).错误是常量中的新行.请帮我解决这个错误.

.net c# string insert

26
推荐指数
1
解决办法
8万
查看次数

LINQ to SQL - 没有可用的Add方法

我创建了一个LINQ to SQL datacontext,其中包含一个数据表.我试图简单地在该表中插入一条新记录.我遇到的问题是LINQ没有提供Add方法来传递新记录.我看过无数的例子,其中有一个Add方法,但我似乎无法得到它.我完全错过了某些东西还是其他东西?

using (praetoriaTestDataContext db = new praetoriaTestDataContext())
{
    PageHit hit = new PageHit();
    hit.DateViewed = DateTime.Now;
    hit.Page = "test";

    db.PageHits.Add(hit); //Add method is not available!
    db.SubmitChanges();
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

c# insert linq-to-sql

25
推荐指数
2
解决办法
6312
查看次数

为什么"字符串或二进制数据不会被截断"更具描述性错误?

首先:我理解这个错误意味着什么 - 我没有尝试解决它的一个实例.

众所周知,这个错误很难排除故障,因为如果你将100万行插入100列宽的表中,几乎无法确定导致错误的行的哪一列 - 你必须修改你的进程以插入一行一次,然后看看哪一个失败了.说得客气一点,这是一种痛苦.

是否有任何理由错误看起来不像这样?

String or Binary data would be truncated
Error inserting value "Some 18 char value" into SomeTable.SomeColumn VARCHAR(10)
Run Code Online (Sandbox Code Playgroud)

如果不是表结构本身,这将使查找和更正值变得容易得多.如果看到表数据是一个安全问题,那么可能是通用的,比如给出尝试值的长度和失败列的名称?

database sql-server insert

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

PostgreSQL INSERT确认参数是什么意思?

在我的LiveCode Server应用程序中,我在插入时返回了一个dberr,但没有明确的错误代码.

我去了一个终端,用手Postgres手工插入.

%My_Dbase=# INSERT INTO new-table (first_name, last_name, anonymous) VALUES ('batman', 'Moonboy', TRUE);
Run Code Online (Sandbox Code Playgroud)

psql进程返回:

INSERT 0 1
Run Code Online (Sandbox Code Playgroud)

这条线是什么意思?除了主表之外,我还有一个序列来递增主表的主键ID(int).

如果我检查数据,插入数据,主键增加1,一切似乎都很好,我不知道为什么我的应用程序返回错误(可能是应用程序或我的代码中的错误).

但如果我知道这INSERT 0 1意味着什么,那将有助于我向自己保证:

  1. 是的,插入没有错误,或
  2. 不,0 1表示某种错误.

如果有人有PostgreSQL文档的链接,告诉我们这些服务器响应参数是什么,我会研究它...我到处寻找.

postgresql insert

25
推荐指数
2
解决办法
9997
查看次数

oracle plsql:如何解析XML并插入表中

如何将嵌套的xml文件加载到数据库表中?

<?xml version="1.0" ?> 
<person>
   <row>
       <name>Tom</name>
       <Address>
           <State>California</State>
           <City>Los angeles</City>
       </Address>
   </row>
   <row>
       <name>Jim</name>
       <Address>
           <State>California</State>
           <City>Los angeles</City>
       </Address>
   </row>
</person>       
Run Code Online (Sandbox Code Playgroud)

在这个xml中,person是表名,name是归档名,Tom是其归档值.地址是一个子表,状态和城市是地址内的两列.我想将person行插入到person表中,如果失败,请不要插入到地址表中.这个xml可能非常大.这样做的最佳解决方案是什么?

xml oracle plsql insert xml-parsing

25
推荐指数
3
解决办法
11万
查看次数

SQLAlchemy INSERT IGNORE

如何在表中插入多个数据记录而忽略重复项.我正在使用SQLAlchemy.

谢谢!

python sqlalchemy ignore insert

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

如何访问Sharepoint 2007/2010/2013 _layouts文件夹

我正在尝试在mysiteurl/_layouts /中插入一些数据

因为我不得不使用第三方软件,它使用存储在该文件夹中的数据...我是该机器的管理员(Windows Server 2008R2上的Sharepoint 2010),但Sharepoint说我无法直接访问该文件夹...

是否有任何技巧在该特定文件夹中插入数据?

sharepoint layout insert

24
推荐指数
2
解决办法
8万
查看次数

如何使用VBA在指定的单元格位置将图片插入Excel

我正在将".jpg"文件添加到我的Excel工作表中,代码如下:

'Add picture to excel
xlApp.Cells(i, 20).Select
xlApp.ActiveSheet.Pictures.Insert(picPath).Select
'Calgulate new picture size
With xlApp.Selection.ShapeRange
    .LockAspectRatio = msoTrue
    .Width = 75
    .Height = 100
End With
'Resize and make printable
With xlApp.Selection
    .Placement = 1 'xlMoveAndSize
    '.Placement = 2 'xlMove
    '.Placement = 3 'xlFreeFloating
    .PrintObject = True
End With
Run Code Online (Sandbox Code Playgroud)

我不知道我做错了什么,但它没有插入到正确的单元格中,所以我应该怎么做才能将这张图片放入Excel中的指定单元格?

excel vba image insert

24
推荐指数
3
解决办法
19万
查看次数