标签: sql-update

如何更新mysql表,我想为现有表重新生成序列号

我有大约 500 条记录的 mysql 表,以及一些我如何根据我的要求修改我的表的信息。不过,我有一张表,其中包含 (sale_id,cust_id,Sales_desc bla bla) 等字段

我已经为所有 500 行制作了具有一个值('1')的 sale_id 行,,,,,,但是我想从你们那里知道什么,谁能告诉我如何将 sale_id 更新为 1 到 500,,,,,i意思是说我希望这一行应该从 1 到 N 开始,,,,,但是这个表中已经有一些数据了,,,,,我只是想用序列号替换现有的 sale_id 值(1,2,3, 4,5....n) 请帮我解决这个问题...我正在等待...

沙希德 emsoftware.in

mysql sql-update

0
推荐指数
1
解决办法
5055
查看次数

在 SQLite 中将列数据从一个表复制到另一个表

我有一个表,其中需要有一个递增的 _id 列。但是,由于表有 3 个主键,我无法使用自动增量。顺便说一句,这是在 SQLite 中。该表已经填充了数据,因此我不能重新创建该表。

有没有办法在 _id 列中插入 1 到 148 之间的值?

我们已经尝试过这样的事情:

UPDATE table1
SET _id = (SELECT _id FROM table2)
Run Code Online (Sandbox Code Playgroud)

table2 是一个临时表,其中包含从 1 到 148 的值。但这只是将所有 _id 值更新为“1”。

关于如何解决这个问题有什么建议吗?

sql sqlite sql-update

0
推荐指数
1
解决办法
7018
查看次数

如何减少mysql数据库中现有日期列中的一天?

我有桌子tbl_dtcount。在该表中有一列用于日期。
现在我需要为该日期字段中的每一行减少一天。日期从2012-05-19到开始2012-07-03。执行此操作的 MySQL 更新语句是什么?

mysql date sql-update

0
推荐指数
1
解决办法
3245
查看次数

更新语句在 SQL Developer 中有效,但在 C# 中无效

我有一个可以在 SQL Developer 中运行的小型更新查询。

UPDATE people
SET months = 8
WHERE number = 599
Run Code Online (Sandbox Code Playgroud)

非常坦率的。它有效 - 这在 C# 中也有效。问题是当我想使用参数(适用于数字但不适用于月份)时,它将停止工作。

我在 C# 中有这样的代码:

 using (OracleConnection con = new OracleConnection(connectionString))
        {
            con.Open();
            OracleCommand command = con.CreateCommand();
            command.CommandType = CommandType.Text;
            command.CommandText = "UPDATE people " +
                              "SET months = :months " +
                              "WHERE number = :number";
            command.Parameters.Add(":number", OracleDbType.Int32).Value = number;
            command.Parameters.Add(":months", OracleDbType.Int32).Value = months;

            command.ExecuteNonQuery();
        }
Run Code Online (Sandbox Code Playgroud)

它们都是oracle中的Number类型,我尝试将OracleDbType更改为Decimal,但几乎一切都没有成功。奇怪的是, :number 参数有效,但几个月没有更新(它不会崩溃,只是不更新​​)。但是,如果我将 :months 参数更改为 7 这样的静态值 - 它将起作用。

c# sql oracle odp.net sql-update

0
推荐指数
1
解决办法
2250
查看次数

MySQL结合UPDATE和SELECT查询

我有以下返回数据的 SELECT 语句,示例如下:

SELECT performers.ID, 
       performers.Name, 
       COUNT(*) AS CountOfDeals, 
       COUNT(DISTINCT(deals.Name)) AS CountOfAliases 
  FROM deals RIGHT JOIN performers 
               ON deals.name LIKE CONCAT('%', performers.name, '%') 
 WHERE performers.ID IN ( 27952, 27951, 27950, 27949, 27948 ) 
 GROUP BY Name;
Run Code Online (Sandbox Code Playgroud)

返回的数据示例:

  ID        Name             CountOfDeals     CountOfAliases
27952   Christine Hoberg          1                 0
27951   Indian Jewelry            1                 0
27952   Kinky Friedman            5                 3
27949   KJ-52                     1                 0
27960   River Whyless             1                 0
Run Code Online (Sandbox Code Playgroud)

我想将其与以下 UPDATE 语句结合起来

UPDATE performers 
   SET RawAliasCount = CountOfAliases, 
       RawDealCount = CountOfDeals 
 WHERE ID = …
Run Code Online (Sandbox Code Playgroud)

mysql sql sql-update

0
推荐指数
1
解决办法
3483
查看次数

查找重复项并使用第一个找到的重复项的 ID 标记重复项

我有一个名为 的表log,其中有数百万行。目前,它看起来像这样:

Id       OriginId MetricId  Value  IsDuplicate DuplicateId
-------- -------- --------- ------ ----------- -----------
1        50ECC7F6 FC7A477F  2.00   0           0
3        50ECC7F6 FC7A477F  2.00   0           0
4        8800B985 7F438F09  5.00   0           0
5        50ECC7F6 FC7A477F  2.00   0           0
Run Code Online (Sandbox Code Playgroud)

我现在需要找到OriginIdMetricId相等的重复项,将除第一个匹配项之外的所有匹配项设置IsDuplicate为 1,并DuplicateId设置为Id第一个出现的行的 。

预期的结果是这样的:

Id       OriginId MetricId  Value  IsDuplicate DuplicateId
-------- -------- --------- ------ ----------- -----------
1        50ECC7F6 FC7A477F  2.00   0           0
3        50ECC7F6 FC7A477F  0.00   1           1
4        8800B985 …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server sql-update

0
推荐指数
1
解决办法
474
查看次数

在一个查询中的每一行中增加唯一列

我正在尝试更新包含两列的表;idpositionid是唯一的并且自动递增。position是唯一的,但不会自动递增,实际上必须手动设置。

我需要更改位置大于或等于5(或我提供的任何其他数字)的所有行,以将它们全部加一。这是我的代码:

UPDATE slides 
SET   position = position + 1 
WHERE position >= 5;
Run Code Online (Sandbox Code Playgroud)

不幸的是,它返回以下错误:

错误:键“slides_position_unique”的条目“2”重复

如何更新所有这些唯一编号而不引起冲突?我尝试过一个子查询来查找所有可更新的行并反向返回它们,但它没有帮助。


CREATE TABLE slides
  (id int(10) unsigned NOT NULL AUTO_INCREMENT,
   user_id int(10) unsigned NOT NULL,
   position int(10) unsigned NOT NULL,
   PRIMARY KEY (id),
   UNIQUE KEY slides_position_unique (position),
   KEY slides_user_id_foreign (user_id),
   CONSTRAINT slides_user_id_foreign
     FOREIGN KEY (user_id) REFERENCES users (id) )
Run Code Online (Sandbox Code Playgroud)

mysql sql select auto-increment sql-update

0
推荐指数
1
解决办法
1795
查看次数

Coldfusion - 更新表格

你能给我建议吗?如何制作允许您插入和更新项目的工作表单?我有一种可用于插入的表单,但是当我想以<input>这种形式更新时,它会返回错误,其中包含表单中的所有数据。所以我想请你帮忙更新。

在此处输入图片说明

我的代码:

第 1 页 插入零件 (此有效)

<cfif isdefined("Form.Name")>

    <cfquery name"something" datasource="#something#>
    INSERT INTO table..
    Values (...)
    </cfquery>

</cfif>
Run Code Online (Sandbox Code Playgroud)

更新部分

<cfif isDefined('url.action')>

  <cfquery datasource="Something" name="Something">

    Update table.. 
    SET Name= <cfqueryparam cfsqltype="cf_sql_varchar" value="#Form.Name#"> 
    Where Some_id = '#Form.ID#'

  </cfquery>
</cfif> 
Run Code Online (Sandbox Code Playgroud)

第1页 表格

<table>
    <form action="path\Page1.cfm?action=update" method="post">

    <cfloop query="languageField">
      <input name="Name" value="#SomeQuery.Name#">
      <input type="Submit" value="Submit">
    </cfloop>

    </form>
</table>
Run Code Online (Sandbox Code Playgroud)

forms coldfusion sql-update

0
推荐指数
1
解决办法
114
查看次数

PostgreSQL ERROR 列不存在是指一个列值

projects在 postgreSQL 中有一个表,如下所示

id.    project_name.   col3.  col4
1111.   test.          ...    ...
Run Code Online (Sandbox Code Playgroud)

id仅当id不存在时,我才想为新插入一个新行。所以我写了下面的查询

INSERT INTO projects(id, project_name)
VALUES("1234", "Test_Project")
ON CONFLICT (id)
DO NOTHING
Run Code Online (Sandbox Code Playgroud)

但它给我一个错误

Query 1 ERROR: ERROR:  column "1234" does not exist
LINE 2: VALUES("1234", "Test_Project_...
Run Code Online (Sandbox Code Playgroud)

请建议。

** 编辑**

id表中的列是一个 uuid 并且不是唯一的。可以有多个具有相同 ID 的行。根据 GMB 的建议,我尝试了以下

INSERT INTO projects(id, project_name)
    VALUES('1234', 'Test_Project')
    ON CONFLICT (create unique index on projects(id))
    DO NOTHING
Run Code Online (Sandbox Code Playgroud)

我得到以下错误

Query 1 ERROR: ERROR:  syntax error at or near "create"
LINE …
Run Code Online (Sandbox Code Playgroud)

sql string postgresql sql-update sql-insert

0
推荐指数
1
解决办法
697
查看次数

可以在没有 CTE 的情况下简化此 SQL 查询吗?

我不是 SQL 开发人员。我在下面有这段代码,我的 DBA 希望我进一步简化。希望你们可以看看并帮助如何进一步简化这个查询。这里可以不使用 CTE 吗?谢谢。

 ;     
 WITH CTE_tmp1(RecId, Newdata, Changecode) AS       
 (  
    SELECT RecId, Newdata, Changecode
       FROM dbo.POLL
       WHERE Changecode = 1
 )
UPDATE dbo.POLL
     SET  RecId = T.Newdata
     FROM  dbo.POLL  P
     INNER JOIN CTE_tmp1  T
       ON  P.RecId = T.RecId
     WHERE P.Changecode IS NOT NULL AND P.Changecode <> 1
Run Code Online (Sandbox Code Playgroud)

`

t-sql sql-server common-table-expression sql-update

0
推荐指数
1
解决办法
48
查看次数