小编Jua*_*ado的帖子

如果记录在表中,则插入或更新

我有一张桌子汽车和CarDescriptions

汽车:IDCar(int,PK,autoincrement)carsDesciptions(IDDescription,Header(nvarchar),Content(nvarchar),idCar(int,FK)

在应用程序中,我正在添加汽车并编辑现有汽车.

我的问题:

1.如何保存更改的汽车与数据库中的描述?

我有车的ID,我有ID的描述

类CarDescirption没有像IsChanged这样的任何池,所以

我不想做这样的事情:

  1. 从iddes = @ idcar的carsdescriptions中删除
  2. 插入cardescriptions(,@ Header,@ Content,@ IDCar)

如果在表中,则必须更新记录,如果表中不存在则必须插入

c# sql sql-server-2005 sql-update

8
推荐指数
3
解决办法
6345
查看次数

MySQL错误1064 - 我是盲人吗?奇怪的错误

我的查询:

UDPATE message_recipients SET
recipient_status = 2 WHERE mid = 3 AND
recipient_id = 4
Run Code Online (Sandbox Code Playgroud)

表字段:

id,mid,recipient_status,recipient_id

错误:

1064 - 您的SQL语法出错; 查看与您的MySQL服务器版本对应的手册,以便在'UDPATE message_recipients SET recipient_status = 2 WHERE mid = 3 AND recipient_i'附近使用正确的语法

有人可以给我任何建议吗?

mysql sql sql-update

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

使用大量UPDATE和PostgreSQL进行流式处理

我是PostgreSQL优化的新手,并且选择适当的工作,不管是什么.因此,我想知道每当我尝试使用PostgreSQL进行不适当的工作时,或者它适合它,我应该正确设置一切.

无论如何,我需要一个包含大量经常变化的数据的数据库.

例如,想象一个ISP,拥有大量客户端,每个客户端都有一个会话(PPP/VPN /无论如何),有两个自我描述的经常更新的属性bytes_receivedbytes_sent.有一个表格,每个会话由一个具有唯一ID的行表示:

CREATE TABLE sessions(
    id BIGSERIAL NOT NULL,
    username CHARACTER VARYING(32) NOT NULL,
    some_connection_data BYTEA NOT NULL,
    bytes_received BIGINT NOT NULL,
    bytes_sent BIGINT NOT NULL,
    CONSTRAINT sessions_pkey PRIMARY KEY (id)
)
Run Code Online (Sandbox Code Playgroud)

并且随着会计数据的流动,此表会收到许多UPDATE,如下所示:

-- There are *lots* of such queries!
UPDATE sessions SET bytes_received = bytes_received + 53554,
                    bytes_sent = bytes_sent + 30676
                WHERE id = 42
Run Code Online (Sandbox Code Playgroud)

当我们收到一个永无止境的流,有很多(比如每秒1-2次)更新一个有很多(如几千个)会话的表,可能要归功于MVCC,这使得PostgreSQL 非常繁忙.有没有办法加速一切,或者Postgres不完全适合这个任务,我最好认为它不适合这个工作,把这些计数器放到另一个存储器,如memcachedb,使用Postgres仅用于相当静态的数据?但我会错过不经常查询这些数据的能力,例如找到TOP10下载器,这不是很好.

不幸的是,数据量不能降低太多.ISP会计示例全部用于简化说明.真正的问题在于另一个系统,这种结构在某种程度上难以解释.

谢谢你的建议!

sql postgresql optimization sql-update

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

SQL:在VarBinary列上按顺序执行UPDATE .WRITE

我正在尝试创建一个小的测试应用程序,它读取FileStream的块并将其附加到SQL Server 2005 Express上的VarBinary(max)列.

一切正常 - 列应该按照它应该填充,但我的机器似乎仍然将所有内容缓冲到内存中,我只是看不清楚原因.

我正在使用以下代码(C#):

using (IDbConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings[1].ConnectionString))
{
    connection.Open();

    string id = Guid.NewGuid().ToString();

    using (IDbCommand command = connection.CreateCommand())
    {
        command.CommandText = "INSERT INTO [BLOB] ([Id],[Data]) VALUES (@p1,0x0)";

        SqlParameter param = new SqlParameter("@p1", SqlDbType.VarChar);
        param.Value = id;
        command.Parameters.Add(param);

        command.ExecuteNonQuery();
    }

    if (File.Exists(textBox1.Text))
    {
        using (IDbCommand command = connection.CreateCommand())
        {
            command.CommandText = "UPDATE [BLOB] SET [Data].WRITE(@data, @offset, @len) WHERE [Id]=@id";

            SqlParameter dataParam = new SqlParameter("@data", SqlDbType.VarBinary);
            command.Parameters.Add(dataParam);

            SqlParameter offsetParam = new SqlParameter("@offset", SqlDbType.BigInt);
            command.Parameters.Add(offsetParam);

            SqlParameter …
Run Code Online (Sandbox Code Playgroud)

c# sql varbinary sql-update

7
推荐指数
1
解决办法
7123
查看次数

从表b更新表a(条件)

晚上好,

实际上,现在是夜晚.晚上11点左右.我的大脑正在关闭,我需要一些帮助,所以我可以完成并回家:)

我有两张桌子 - 桌子a和桌子b.当另外两个字段匹配时,我需要使用表b中字段的值更新表a中的字段.表格没有每条记录的唯一ID :(

基本上,我想这样做:

update a
set importantField = 
(select b.importantfield
from b
where a.matchfield = b.matchfield
and a.matchfield2 = b.matchfield2
)
where a.matchfield = b.matchfield
and a.matchfield2 = b.matchfield2
Run Code Online (Sandbox Code Playgroud)

或者至少......我认为这就是我想做的......

有人可以帮帮我吗?

sql t-sql sql-server sql-update

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

使用不同的值更新多个行

我在我的MySQL数据库'用户'中得到了这个表.它有字段'id'和'value'.

现在,我想更新大量在这个表中有行单个 SQL查询,但许多行应该得到不同的值.目前,我正在使用这个:

UPDATE users
    SET value = CASE id
        WHEN 1 THEN 53
        WHEN 2 THEN 65
        WHEN 3 THEN 47
        WHEN 4 THEN 53
        WHEN 5 THEN 47
    END
WHERE id IN (1,2,3,4,5)
Run Code Online (Sandbox Code Playgroud)

这有效.但我觉得我可以做一些优化,因为我只分配了3到4个不同的值.正如您所看到的,现在这些是47,53和65.有没有办法可以在同一个查询中同时更新同时获得相同值的所有行?或者,还有另一种方法可以优化吗?

mysql sql sql-update

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

使用列级WHERE子句更新多列中的所有SQL NULL值?

我们有一个包含大量宽表(每个40-80列)的数据库,并且发现了一个将NULL值引入大约500条记录的错误.NULL值可以出现在任何列中(都是整数列,请参见下图)但这些NULL值导致我们的报告系统之一无法轻易更改.我们需要用特定的静态值(在本例中为99)替换NULL值,但由于这个更改必须基于每列超过250个不同的列,我宁愿不编写更新每个列的单个TSQL脚本一个人.

我的大脑现在太过于思考一个聪明的解决方案,所以我的问题是如何使用简单易读的SQL查询在表(或更好的多个表)上的所有列上执行此任务.我可以使用WHERE (Answer_1 IS NULL) OR (Answer_2 IS NULL) OR ...每个表的链或甚至每个表的AdministrationID号来容易地隔离记录,但是当更新为where子句是每行而不是每列时,这个技巧将不起作用.有什么建议?

以下是一个示例查询,显示了来自4个不同表的一些记录: 样品

sql t-sql sql-server sql-server-2005 sql-update

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

在SQL中更新具有不同值的多个行

我有这样一张桌子:

SKU            Size
A              10
B              10
C              10
D              10
E              10
F              10
G              10
Run Code Online (Sandbox Code Playgroud)

我想将其更改为:

SKU            Size
A              20
B              10
C              30
D              10
E              80
F              10
G              60
Run Code Online (Sandbox Code Playgroud)

我有超过3000行记录要更新.如何使用SQL更新命令执行此操作?

sql sql-update

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

连接到Katalon Studio中的Oracle SQL

我尝试使用下面的Groovy脚本连接到Oracle SQL数据库:

def connectDB(String dataFile){
    //Load driver class for your specific database type
    Class.forName("oracle.jdbc.driver.OracleDriver")
    String connectionString = "jdbc:sqlite:" + dataFile
    if(connection != null && !connection.isClosed()){
        connection.close()
    }
    connection = DriverManager.getConnection(connectionString)
    return connection
}
Run Code Online (Sandbox Code Playgroud)

连接字符串中有sqlite,但不确定我应该使用哪个值.(我也试过jdbc:oracle了.)

我使用以下类来建立数据库连接.

public class sqlconnect {
    private static Connection connection = null;

    /**
     * Open and return a connection to database
     * @param dataFile absolute file path 
     * @return an instance of java.sql.Connection
     */
    @Keyword
    def connectDB(String dataFile){
        //Load driver class for your …
Run Code Online (Sandbox Code Playgroud)

oracle groovy jdbc katalon-studio

7
推荐指数
1
解决办法
2114
查看次数

如何使用"空白"值更新列

如何varchar(20), not null使用"空白"值更新列值()?

sql sql-update

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