小编Jua*_*ado的帖子

SQL - 使用另一个表的字段更新表

我正在尝试执行以下更新查询:

UPDATE Commodities 
INNER JOIN UniqueCountries 
     ON Commodities.wbCode = UniqueCountries.wbCode 
SET Idenb = UniqueCountries.wbName||yr
Run Code Online (Sandbox Code Playgroud)

查询显然是错误的,因为它不起作用.我该如何解决?


该查询应该IdenB使用wbNameyr(wbName||yr)的连接值更新列.但是,wbName在另一个调用的表上UniqueCountries,这就是我尝试执行内部连接的原因.

我做错了什么,我该如何解决?非常感谢你.

sql sqlite sql-update

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

MySQL批量更新

我有2个表(MySQL)

  1. data_details
  2. accounts_invoices

理想情况下,每个data_details都应具有accounts_invoices id.(data_details有一个带有accounts_invoices主键的外键)

由于某种原因,有data_details记录,其中accounts_invooice表中不存在accounts_invoice_id

所以我尝试用已知的accounts_invoice id更新那些data_details记录.这就是我做的

update data_details 
set account_invoice_id = 1
where account_invoice_id in (
  select d.id
  from data_details d left join accounts_invoices a
  on d.account_invoice_id = a.id
  where a.id is null    
)
Run Code Online (Sandbox Code Playgroud)

但是说出错了

您可以在FROM子句中指定目标表'data_details'以进行更新(错误1093)

有人可以帮助我,提前谢谢

干杯

sameera

mysql sql mysql-error-1093 sql-update

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

多行更新

我在使用单个mysql语句更新mysql表的几行时遇到问题.

我有想要在字符串中更新的rowid,例如.

$ids="id1, id2, id3, id4,...."
Run Code Online (Sandbox Code Playgroud)

我在另一个字符串中有我的值,例如.

$values="str1, str2, str3, str4,....";
Run Code Online (Sandbox Code Playgroud)

(我有超过30,000行要更新)

想法是id1的行应该用str1更新,依此类推.

我怎样才能解决这个问题?

谢谢

mysql sql sql-update

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

实体框架:更新实体或添加(如果它不存在)

我有一个场景,我必须更新一个实体,如果它存在或添加一个新实体,如果它不存在.

我想为此执行一个单独的方法(如果它只是一次访问服务器就会很棒).

EF中有类似的东西吗?

现在我的代码看起来像这样:

var entity = db.Entities.FirstOrDefault(e => e.Id == myId);
if (entity == null)
{
    entity = db.Entities.CreateObject();
    entity.Id = myId;
}

entity.Value = "my modified value";

db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

但我想避免第一个查询,如下所示:

var entity = new Entity();
entity.Id = myId;
entity.Value = "my modified value";
db.AddOrAttach(entity);
db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

有类似的东西吗?或者我必须执行第一个查询,不管是什么?

谢谢

sql optimization entity-framework-4 sql-update

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

TSQL - UPDATE语句中的自动递增

SQL Server 2005

我有一张包含以下内容的表: -

[order_id]     [index_1]
600020001      0
600020002      0
600020002      0
600020002      0
600020003      0
...
Run Code Online (Sandbox Code Playgroud)

需要更新为: -

[order_id]     [index_1]
600020001      1
600020002      1
600020002      2
600020002      3
600020003      1  
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一个UPDATE语句,该语句将填充index_1字段,如上例所示.我可以使用CURSOR来实现这一点,但理想情况下我希望尽可能不这样做.

对于每个新的order_id,编号重新开始.对于每个order_id行,index_1字段增加1.

没有光标可以做到这一点吗?

sql t-sql increment cursor sql-update

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

使用子查询的SQL Update列值

在MySQL数据库表中,我想要UPDATE一些包含查询结果的行.

例如,我有一张桌子

TABLE employees(
  employeeId int,
  salary int,
)
Run Code Online (Sandbox Code Playgroud)

我想UPDATE只显示下面查询中出现的行,employeeIds匹配并newSalary成为修改后的值salary

(SELECT employeeId, newSalary FROM ....)
Run Code Online (Sandbox Code Playgroud)

我原本以为将结果加载到临时表中,但我不知道如何获取SET值,如此处所示

UPDATE employees
SET salary = (???)
WHERE employeeId exists in tempTable
Run Code Online (Sandbox Code Playgroud)

您可能会评论这会导致非规范化,我知道这一点.我怀疑会有一些"你不想这样做"的类型反应,为了简洁起见,请假设我有充分的理由.

mysql sql sql-update

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

在SQL Update中使用Distinct

这是我需要转换为更新的选择:

SELECT DISTINCT f.SectionID, f.Name, v.Enabled
FROM SETTING_VALUE v
INNER JOIN SETTING s ON v.SettingID = s.SettingID
INNER JOIN LU_FIELD f ON f.FieldID = s.FieldID
WHERE v.DisplayValue LIKE '%Miami%'
AND f.ControlName LIKE '%City%'
Run Code Online (Sandbox Code Playgroud)

我的尝试:

UPDATE SETTING_VALUE
SET Enabled = 0
FROM SETTING_VALUE v
INNER JOIN SETTING s ON v.SettingID = s.SettingID
INNER JOIN LU_FIELD f ON f.FieldID = s.FieldID
WHERE v.DisplayValue LIKE '%Miami%'
AND f.ControlName LIKE '%City%'
Run Code Online (Sandbox Code Playgroud)

不确定如何应用Distinct

sql sql-server distinct sql-update

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

如何使用从已知列表中随机选择的字符串更新表中的字段?

我有一个名为"buildings"的表,其中包含一个名为"use"的varchar(50)字段.该表已有数千条记录,但"use"值均为null.我想用字符串列表中的随机选择值更新这些表(例如,仓库,办公室,市场,零售,研讨会).我还想留下一些null来模拟真实世界的用法.

如何使用从已知列表中随机选择的字符串更新表中的字段?

random postgresql sql-update

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

带连接的SQL更新?

我有两张桌子.一个是简单的字符串/ ID查找:

StrTable:

str_key String
0       'a'
1       'b'

字符串是唯一的.另一个更复杂,包括共享的string_id

ValTable:

str_key other_key val
0        0        1.234
0        1        1.567
1        0        1.890

现在,我想对ValTable进行更新,使用我查找的字符串通过StrTable获取str_key.简单的更新将是:

UPDATE ValTable SET val = 2.124 WHERE str_key = 0 AND other_key = 1 LIMIT 1
IF @@ROWCOUNT=0 INSERT INTO ValTable VALUES (0,1,2.124);
Run Code Online (Sandbox Code Playgroud)

那么如何修改它以包括用一些字符串'a'查找str_key?我假设我需要加入,但我从未在更新中加入.或者我可以在where子句中添加更多内容吗?

sql join sql-server-2005 sql-update

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

在mysql中尝试跨数据库更新时找不到列

我正在尝试将一个mysql数据库中的列的内容复制到另一个mysql数据库中的相同表.

我正在使用:

UPDATE db1.table
SET    db1.table.name = db2.table.name, 
       db1.table.address = db2.table.address
WHERE  db1.table.id = db2.table.id;
Run Code Online (Sandbox Code Playgroud)

我收到错误1054:'where子句'中的未知列'db2.table.id'.

两个表都有一个id列,所以我不确定它为什么不起作用.我以管理员身份登录,并拥有两个数据库的完全权限.

mysql sql mysql-error-1054 sql-update

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