我有两个表,喜欢用另一个表的值更新其中一个表。
software
---------
id ,
purchprice
softwarecost
------------
id ,
purchprice
我已经尝试过这些查询,但SQLite不支持使用UPDATE进行连接。任何人都可以提出查询。谢谢您的帮助。
UPDATE software
SET software.purchprice=softwarecost.purchprice
WHERE software.id=softwarecost.id
UPDATE software
INNER JOIN softwarecost on software.id=softwarecost.id
SET software.purchprice=softwarecost.purchprice
这种说法行得通!
它将只更新软件中与softwarecost中具有相同ID的行!
UPDATE software SET software.purchprice =
(SELECT purchprice FROM softwerecost WHERE software.id = softwerecost.id)
WHERE id IN (SELECT id FROM softwarecost);
还有一种方法可以做到:
DELETE FROM software WHERE id IN (SELECT id FROM softwarecost);
INSERT INTO software SELECT * FROM softwarecost;
…如果必须更新所有列(如果有更多列要更新),则此方法更方便
您必须使用相关子查询查找相应的值:
UPDATE software
SET purchprice = (SELECT purchprice
FROM softwarecost
WHERE id = software.id)
这会管用的
UPDATE
software
SET purchprice = (SELECT purchprice
FROM softwarecost
WHERE id = software.id)
where EXISTS (SELECT purchprice
FROM softwarecost
WHERE id = software.id)
这里我们使用exists,因为如果没有它,查询将在没有找到“相关”行的情况下将software.purchprice设置为null。
主要内容:交叉连接 - CROSS JOIN,内连接 - INNER JOIN,外连接 - OUTER JOINSQLite 的 Join 子句用于结合两个或多个数据库中表的记录。JOIN 是一种通过共同值来结合两个表中字段的手段。 SQL 定义了三种主要类型的连接: 交叉连接 - CROSS JOIN 内连接 - INNER JOIN 外连接 - OUTER JOIN 在我们继续之前,让我们假设有两个表 COMPANY 和 DEPARTMENT。我们已经看到了用来填充 COMPANY 表的 I
我以前从未使用过JPQL,我需要用它来批量更新特定列中的值。该列存在于表中,但实体类是在没有变量的情况下设置的。我不能使用确切的数据,但设置会像这样给你一个想法: 数据库列 JPA 实体类 在 Books 实体类中,有一个 getter 和 这两个问题都是b.作者提出的。authorId和b.author是无效的标识符。是否可以编写两个单独的查询?1个查询作为select语句,我可以使用连接,然后
我正在尝试使用内部联接更新表。我试图做的是获取具有“code”值的“username”,并在另一个表上更新该“username”的值。 我试过这个: 这给了我“致命错误:调用非对象上的成员函数bind_param()” 我搜索并找到了一些像我这样的问题,但我不能解决这个问题。我使用了,它给出了布尔值false,但是我看不出问题在哪里。
问题内容: 使用Hibernate,我想根据条件更新数据库中的数据,但是出现以下错误:“遍历的节点不能为空” 这是我的数据库描述: 这是我的JPA: 我究竟做错了什么?如果我将LEFT JOIN移到SET之前: 我得到:“正在期待SET,找到了LEFT” 如果我删除联接: 我得到:“非法尝试取消对集合的引用”。 更新值的正确方法是什么? 谢谢你的帮助! 问题答案: 第4章中的JPA 2.0规范包含
问题内容: 我有两个表,并且想为LEFT JOIN中的所有行更新T1中的字段。 举一个简单的例子,更新以下结果集的所有行: 在MySQL手册指出: 多表UPDATE语句可以使用SELECT语句中允许的任何类型的联接,例如LEFT JOIN。 但是我在记录的多表UPDATE中找不到执行此操作的正确语法。 正确的语法是什么? 问题答案: 请注意,使用/ 语法会更有效: 有关性能的详细信息,请参见我的博
在 Flask 中,在请求开始的时候用 before_request() 装饰器实现 打开数据库连接的代码,然后在请求结束的时候用 before_request() 装饰器关闭数据库连接。在这个过程中需要配合 g 对象。 于是,在 Flask 里一个使用 SQLite 3 的简单例子就是下面这样: import sqlite3 from flask import g DATABASE = '/p