标签: sql-update

使用另一个表中的数据更新mysql表

是否可以使用子选择在mysql 5.0上运行UPDATE命令.

我想要运行的命令是这样的:

UPDATE book_details
SET live = 1 
WHERE ISBN13 = '(SELECT ISBN13 FROM book_details_old WHERE live = 1)';
Run Code Online (Sandbox Code Playgroud)

ISBN13当前存储为字符串.

这应该是更新10k +行.

谢谢,

威廉

mysql sql-update

39
推荐指数
4
解决办法
8万
查看次数

SQL通过SELECT语句更新多个字段FROM

这有效,但我想删除冗余.有没有办法将更新与单个select语句合并,所以我不必使用变量?

    DECLARE
        @OrgAddress1 varchar,
        @OrgAddress2 varchar,
        @OrgCity varchar,
        @OrgState varchar,
        @OrgZip varchar,
        @DestAddress1 varchar,
        @DestAddress2 varchar,
        @DestCity varchar,
        @DestState varchar,
        @DestZip varchar

    SELECT 
        @OrgAddress1    =   OrgAddress,
        @OrgAddress2    =   OrgAddress2,
        @OrgCity        =   OrgCity,
        @OrgState       =   OrgState,
        @OrgZip         =   OrgZip,
        @DestAddress1   =   DestAddress,
        @DestAddress2   =   DestAddress2,
        @DestCity       =   DestCity,
        @DestState      =   DestState,
        @DestZip        =   DestZip
    FROM 
        ProfilerTest.dbo.BookingDetails 
    WHERE 
        MyID=@MyID

    UPDATE SHIPMENT
    SET
        OrgAddress1     =   @OrgAddress1,
        OrgAddress2     =   @OrgAddress2,
        OrgCity         =   @OrgCity,
        OrgState        =   @OrgState,
        OrgZip          =   @OrgZip,
        DestAddress1    =   @DestAddress1,
        DestAddress2    = …
Run Code Online (Sandbox Code Playgroud)

sql sql-server stored-procedures sql-update

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

使用来自另一个表的数据更新一个表中的行,基于每个表中的一列相等

基于每个表中的一个列相等(user_id),将多个行从另一个表更新为一个表.

两个表都有一user_id列.需要从数据插入t2t1user_id列相等.

提前感谢您提供的任何帮助.

sql oracle sql-update

39
推荐指数
4
解决办法
20万
查看次数

MySql Update A Joined Table

我想在具有多个连接的语句中更新表.虽然我知道连接的顺序并不重要(除非你使用的是优化器提示),我命令它们以某种方式最直观地阅读.但是,这导致我想要更新的表不是我开始使用的表,并且我在更新它时遇到问题.

我想做的一个虚拟例子是:

UPDATE b
FROM tableA a
JOIN tableB b
   ON a.a_id = b.a_id
JOIN tableC c
   ON b.b_id = c.b_id
SET b.val = a.val+c.val
WHERE a.val > 10
    AND c.val > 10;
Run Code Online (Sandbox Code Playgroud)

有许多关于使用联接进行更新的帖子,但是他们总是首先更新表.我知道这在SQL Server中是可能的,并且希望它在MySQL Too中可能!

mysql join sql-update

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

更新文本字段时在postgresql中插入换行符

我正在尝试更新postgresql数据库的表中的文本字段.

UPDATE public.table SET long_text = 'First Line' + CHAR(10) + 'Second line.' WHERE id = 19;
Run Code Online (Sandbox Code Playgroud)

我的预期结果是单元格看起来像这样:

First Line
Second line

上面的语法返回错误.

postgresql char sql-update

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

MySQL:使用查询中的信息创建新表

在MySQL中,我想创建一个包含此查询中所有信息的新表:

select * into consultaa2 from SELECT
 CONCAT(    'UPDATE customers SET
 customers_default_address_id= ',    
 (SELECT a.address_book_id FROM
 address_book a where
 c.customers_id=a.customers_id order by
 address_book_id desc limit 1),    '
 WHERE customers_id = ', customers_id,
 ';') AS sql_statement FROM customers c
 where c.customers_id > 3894;
Run Code Online (Sandbox Code Playgroud)

查询太长,浏览器无法显示concat,我需要这个来进行更新.

mysql sql insert sql-update

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

如何在SQL Server中的特定字符之后拆分字符串并将此值更新为特定列

我有一个数据表1/1,以1/20在一列.我希望值1到20,即'/'(正斜杠)之后的值更新到SQL Server中同一表中的其他列.

例:

列具有值1/1,1/2,1/3...1/20
新的Column值1,2,3,..20

我想更新这个新专栏

提前致谢...!

sql-server split sql-update

37
推荐指数
2
解决办法
22万
查看次数

SQL UPDATE评估顺序

以下查询中的评估顺序是什么:

UPDATE tbl SET q = q + 1, p = q;
Run Code Online (Sandbox Code Playgroud)

也就是说,将"tbl"."p"被设置为qq + 1?此处的评估顺序是否受SQL标准的约束?

谢谢.

UPDATE

在考虑了Migs的回答之后,我对我能找到的所有数据库进行了一些测试.虽然我不知道标准是什么,但实施方式各不相同.

特定

CREATE TABLE tbl (p INT NOT NULL, q INT NOT NULL);
INSERT INTO tbl VALUES (1, 5);   -- p := 1, q := 5
UPDATE tbl SET q = q + 1, p = q;
Run Code Online (Sandbox Code Playgroud)

我发现的价值"p""q"分别为:

database           p   q
-----------------+---+---
Firebird 2.1.3   | 6 | 6  -- But see …
Run Code Online (Sandbox Code Playgroud)

sql evaluation operator-precedence sql-update

36
推荐指数
2
解决办法
4305
查看次数

MySQL Query Browser如何输入NULL?

愚蠢的问题:

在SQL中,我知道我能做到

UPDATE TableA SET MyColumn=NULL
Run Code Online (Sandbox Code Playgroud)

但是,我如何NULL以图形方式进入单元格?我尝试在MySQL查询浏览器中输入'null'和'NULL'以及'(没有/空字符串)但没有成功.

mysql sql sql-update

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

Django使用注释更新queryset

我想通过使用带注释的值更新queryset中的所有行.

我有一个简单的模型:

class Relation(models.Model):
    rating = models.IntegerField(default=0)

class SignRelation(models.Model):
    relation = models.ForeignKey(Relation, related_name='sign_relations')
    rating = models.IntegerField(default=0)
Run Code Online (Sandbox Code Playgroud)

我想要解释这段代码:

for relation in Relation.objects.annotate(total_rating=Sum('sign_relations__rating')):
    relation.rating = relation.total_rating or 0
    relation.save()
Run Code Online (Sandbox Code Playgroud)

并使用以下内容更新一个SQL请求:

Relation.objects.update(rating=Sum('sign_relations__rating'))
Run Code Online (Sandbox Code Playgroud)

不起作用:

TypeError: int() argument must be a string or a number, not 'Sum'
Run Code Online (Sandbox Code Playgroud)

要么

Relation.objects.annotate(total_rating=Sum('sign_relations__rating')).update(rating=F('total_rating'))
Run Code Online (Sandbox Code Playgroud)

也不起作用:

DatabaseError: missing FROM-clause entry for table "relations_signrelation"
LINE 1: UPDATE "relations_relation" SET "rating" = SUM("relations_si...
Run Code Online (Sandbox Code Playgroud)

为此可以使用Django的ORM吗?没有关于在文档中一起使用update()annotate()的信息.

django django-models django-queryset sql-update

35
推荐指数
3
解决办法
6692
查看次数