标签: insert-update

如何更新嵌入式文件?

如何将第二条评论的文本更新为"新内容"

{
  name: 'Me',
  comments: [{
        "author": "Joe S.",
        "text": "I'm Thirsty"
    },
    {
        "author": "Adder K.",
        "text":  "old content"
    }]
}
Run Code Online (Sandbox Code Playgroud)

document insert-update rethinkdb

6
推荐指数
1
解决办法
2058
查看次数

运行更新查询时出现“子查询返回超过 1 个值”错误

请保持温和,我正在尝试更新 sql server 中的查询,但遇到错误。这是我在同一个数据库中的两个表和下面提供的查询,我的要求是根据表 1 更新 table2 中的列 groupCode,但我面临以下错误:

错误

消息 512,级别 16,状态 1,第 1 行子查询返回了 1 个以上的值。当子查询跟随 =、!=、<、<=、>、>= 或当子查询用作表达式时,这是不允许的。该语句已终止。

表格1

**Dept**    **DeptCode**    **GroupName**   **GroupCode**
IT      32      Login-Els       1
IT      32      QC-Els          4
CT      20      Login-OUP       1
CT      20      XML-OUP         2
CT      20      QC-OUP          4
MECH    34      Login-CEN       1
MECH    34      XML-CEN         2
MECH    34      PAGINATION-CEN  3
MECH    34      QC-CEN          4
Run Code Online (Sandbox Code Playgroud)

表2

**Activity**    **DeptCode**    **Group**
Login-Els       32      NULL
QC-Els          32      NULL
Login-OUP       20      NULL
XML-OUP         20      NULL
QC-OUP          20      NULL …
Run Code Online (Sandbox Code Playgroud)

sql-server insert-update sql-server-2008 sql-update

6
推荐指数
1
解决办法
9429
查看次数

在mysql和php中使用insert重复更新时如何知道上次操作是插入还是更新?

我正在使用PHP和MySQL.

如果我使用INSERT ON DUPLICATE UPDATESQL语句,那么如何知道上一次操作是否是成功插入而不是更新或不成功插入?

假设是有问题的表没有使用自动增量,所以我不能用一个mysql_insert_id来帮助我找出答案.

php mysql insert-update

5
推荐指数
1
解决办法
687
查看次数

MySQL在非唯一字段上的重复键上

我有一个包含所有类型参数的表.该表的结构是:id,object_id,param_name,param_value

以下代码有效,但它会附加结果而不是更新它们.事实是我不能使用ON DUPLICATE KEY因为我的字段是非唯一的(当然除了id)

INSERT INTO `params_table` (`object_id`, `param_name`, `param_value`)
SELECT
A.id AS my_object_id,
'XYZ' AS my_param_name,
IF(TMP.abc IS NULL,0,1) AS my_param_value
FROM
ref_table AS A
LEFT JOIN tmp_table AS TMP ON TMP.abc = A.abc
ON DUPLICATE KEY
UPDATE `param_value` = IF(TMP.abc IS NULL,0,1);
Run Code Online (Sandbox Code Playgroud)

mysql insert-update

5
推荐指数
1
解决办法
5239
查看次数

你如何在Doctrine 2中使用实体关系?

如果要插入实体,请执行以下操作:

$user = new User();
$user->setEmail('john@doe.com');

$em->persist($user);
$em->flush();
Run Code Online (Sandbox Code Playgroud)

但是,如果我想创建一个可以拥有一个用户的文章呢?

目前,我需要这样做:

$user = $em->getRepository('User')->find($id);
$article->setUser($user);
Run Code Online (Sandbox Code Playgroud)

这是因为关系,Doctrine 2要求用户实体.

但是,我不能"模拟"一个User对象,因为我不希望手动设置id,因此我不能这样做:

$user = new User();
$user->setId(45);
Run Code Online (Sandbox Code Playgroud)

我错了这个行为,你怎么办?

加载User实体只是为了设置关系,即使使用缓存也是一种性能问题,而缓存并不总是一种选择,特别是对于更新.

php entity-relationship lazy-loading insert-update doctrine-orm

5
推荐指数
1
解决办法
1601
查看次数

JDBC多线程插入是否可行?

我目前正在研究一个Java项目,我需要准备一个很大的(对我来说)mysql数据库。我必须使用Jsoup进行网络抓取,并将结果也存储到我的数据库中。据我估计,我将插入大约1,500,000至2,000,000条记录。在我的第一个试用版中,我只是使用循环插入这些记录,而我花了一个星期的时间才能插入大约1/3的所需记录,我认为这太慢了。是否有可能使该过程成为多线程,这样我就可以将我的记录分为3组,例如每组500,000条记录,然后将它们插入一个数据库(特别是一个表)中?

java multithreading jdbc insert-update

5
推荐指数
1
解决办法
4911
查看次数

如何在预准备语句中传递带有''(timestamp)的字符串?

我正在尝试执行以下查询

INSERT INTO hotspot(timestamp) VALUES 
(timestamp with time zone '2012-10-25 14:00:00 +05:00' at time zone 'EET');
Run Code Online (Sandbox Code Playgroud)

我想将时间戳作为变量传递.

我的时间戳列是带时区的时间戳类型.

你知道如何做到这一点吗?

当我做...(Java,Postgresql)

    String stm= "INSERT INTO hotspot(timestamp) VALUES(timestamp with time zone ? at time zone 'EET')";
    pst = con.prepareStatement(stm);
    pst.setString(1, "2012-08-24 14:00:00 +05:00");
    pst.executeUpdate();
Run Code Online (Sandbox Code Playgroud)

我在"$ 1"或附近收到语法错误

无论如何我能克服这个错误吗?先感谢您!!

更新:我尝试通过以下方式使用setTimestamp ...

Calendar c=Calendar.getInstance(TimeZone.getTimeZone("GMT+05:00"));
String stm= "INSERT INTO hotspot(timestamp) VALUES(?)";
pst = con.prepareStatement(stm);
pst.setTimestamp(1,Timestamp.valueOf("2012-01-05 14:00:00"), c );
pst.executeUpdate();
Run Code Online (Sandbox Code Playgroud)

我想数据库中的正确值应该是(关于我的本地时区是EET(+02))

2012-01-05 11:00:00 +02

但使用pgadmin我检查值,我得到

2012-01-05 14:00:00 +02

有什么建议?

postgresql syntax-error insert-update timestamp-with-timezone

5
推荐指数
1
解决办法
7517
查看次数

将字符插入SQL字符串

我有一个nvarchar列,我需要在字符串中的固定点插入一个连字符.连字符需要在最右边的字符和下一个字符之间,并且再次在右边的第3个位置,例如:列值是

0000050704 
Run Code Online (Sandbox Code Playgroud)

我需要它

0000050-70-4
Run Code Online (Sandbox Code Playgroud)

或价值是

0555256321 
Run Code Online (Sandbox Code Playgroud)

它应该是

0555256-32-1
Run Code Online (Sandbox Code Playgroud)

看不出这是怎么做的.谁能给我一点帮助?

sql insert-update

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

Azure存储和条件替换/合并

在Azure表存储的批量保存操作中,是否有一种有效的方法来替换实体上的某些属性(如果已存在);但是更新新实体的所有属性吗?

这是我正在谈论的场景。

我有一个名为Order的实体

public class Order : TableEntity
{
    public Order(String department, string orderId)
    {
        this.PartitionKey = department;
        this.RowKey = orderId;
    }

    public DateTime CreatedOn {get; set;}
    public String CreatedBy {get; set;}

    public DateTime UpdatedOn {get; set;}
    public String UpdatedBy {get; set;}

    //Class contains other properties which could add up to 1MB
}
Run Code Online (Sandbox Code Playgroud)

情境

  1. Azure表存储具有带有RowKeys [0..100]的订单实体
  2. 我的API收到带有RowKeys [50..150]的订单的增补请求。
  3. 在单批交易中,我需要更新订单[50-100]上的某些属性,并在天蓝色时创建新的订单实体[101-150]。
  4. 注意:在现有订单[50..100]上,除CreatedOn,CreatedBy,PartitionKey和RowKey之外的所有属性都需要更新。

我可以在不读取表存储中内容的情况下一步完成此操作吗?

这是一种实现方法(非常粗糙的伪代码)

function Upsert(Dictionary<String, Order> ordersInput)
{
    //1. Read existing ordersInput from database
    var existingOrders = Retrieve(ordersInput.Values);

    //2. Update …
Run Code Online (Sandbox Code Playgroud)

c# upsert insert-update azure azure-table-storage

5
推荐指数
1
解决办法
2363
查看次数

使用"INSERT ... ON DUPLICATE KEY UPDATE"插入多个记录

我的表结构

表:标记 在此输入图像描述

我的目标: 我想插入或更新条件的多个记录

我目前正在查询此查询

第一步

SELECT * FROM `marks` WHERE `student` =115 AND `param` =1
Run Code Online (Sandbox Code Playgroud)

第二步

if 
    records found by matching above criteria i just update record by my new values 
else
    insert new record into my table 
Run Code Online (Sandbox Code Playgroud)

它会正常工作.但我想减少代码并将其优化为单个查询.它可能与否?我在MySQL docs上发现了这个INSERT ... ON DUPLICATE KEY UPDATE.如果这是一个解决方案.我怎么能通过查询实现?

注意:我正在使用Yii框架 .来自Yii的建议也欢迎

已编辑: 此查询不会更新行.但逃避插入工作正常

INSERT INTO marks(`student`,`param,mark`,`created`,`lastmodified`,`status`) 
VALUES 
(11,30,10,'00-00-00 00:00:00','00-00-00 00:00:00','U')
ON DUPLICATE KEY UPDATE `mark`=VALUES(`mark`)
Run Code Online (Sandbox Code Playgroud)

php mysql insert-update yii

5
推荐指数
1
解决办法
2146
查看次数