我正在尝试执行以下更新查询:
UPDATE Commodities
INNER JOIN UniqueCountries
ON Commodities.wbCode = UniqueCountries.wbCode
SET Idenb = UniqueCountries.wbName||yr
Run Code Online (Sandbox Code Playgroud)
查询显然是错误的,因为它不起作用.我该如何解决?
该查询应该IdenB使用wbName和yr(wbName||yr)的连接值更新列.但是,wbName在另一个调用的表上UniqueCountries,这就是我尝试执行内部连接的原因.
我做错了什么,我该如何解决?非常感谢你.
我有2个表(MySQL)
理想情况下,每个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语句更新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更新,依此类推.
我怎样才能解决这个问题?
谢谢
我有一个场景,我必须更新一个实体,如果它存在或添加一个新实体,如果它不存在.
我想为此执行一个单独的方法(如果它只是一次访问服务器就会很棒).
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 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.
没有光标可以做到这一点吗?
在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)
您可能会评论这会导致非规范化,我知道这一点.我怀疑会有一些"你不想这样做"的类型反应,为了简洁起见,请假设我有充分的理由.
这是我需要转换为更新的选择:
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
我有一个名为"buildings"的表,其中包含一个名为"use"的varchar(50)字段.该表已有数千条记录,但"use"值均为null.我想用字符串列表中的随机选择值更新这些表(例如,仓库,办公室,市场,零售,研讨会).我还想留下一些null来模拟真实世界的用法.
如何使用从已知列表中随机选择的字符串更新表中的字段?
我有两张桌子.一个是简单的字符串/ 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子句中添加更多内容吗?
我正在尝试将一个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列,所以我不确定它为什么不起作用.我以管理员身份登录,并拥有两个数据库的完全权限.
sql-update ×10
sql ×9
mysql ×4
cursor ×1
distinct ×1
increment ×1
join ×1
optimization ×1
postgresql ×1
random ×1
sql-server ×1
sqlite ×1
t-sql ×1