精华内容
下载资源
问答
  • Laravel 关联模型-关联新增和关联更新 网上找了 Laravel 相关的关联新增和关联更新文档,写的都不是很满意。(基本都在抄文档)下面整理下自己代码中的关联操作方法 按照 Laravel 文档中的说明设置关联模型 参考...

    Laravel 关联模型-关联新增和关联更新


    网上找了 Laravel 相关的关联新增和关联更新文档,写的都不是很满意。(基本都在抄文档)下面整理下自己代码中的关联操作方法

    • 按照 Laravel 文档中的说明设置关联模型 参考地址
    //病人模型
    class Patient extends Model
    {
        /**
         * 病人附表
         * @return \Illuminate\Database\Eloquent\Relations\HasOne
         */
        public function patientdata ()
        {
            return $this->hasOne(PatientData::class);
        }
        
     //病人附表模型
    class PatientData extends Model
    {
        public function patient()
        {
            return $this->belongsTo(Patient::class);
        } 
        
    
    • 关联更新代码
    /**
     * 新增病人信息
     * @param array $data
     *
     * @return bool
     */
    public function savePatient($data=[])
    {
        DB::beginTransaction();
        if($patient = $this->create($data)){
            if ($res = $patient->patientdata()->create(["数据"])){
                DB::commit();
            } else{
                DB::rollBack();
            }
            return true;
        }
        return false;
    }
    
    • 关联更新代码
    public function updatePatient($data=[])
    {
        DB::beginTransaction();
        //先通过主键获得病人模型的实例
        $patient = $this->find($data['id']);
        if($patient->update($data)){
            if ($res = $patient->patientdata()->where('patient_id',$data['id'])->update(["数据"])){
                DB::commit();
            } else{
                DB::rollBack();
            }
            return true;
        }
        return false;
    }
    
    展开全文
  • 多表关联更新和关联删除(SQL)

    千次阅读 2019-01-10 11:24:13
    在SQL中,经常用到关联查询,比如select a.* from A a inner join B b on a.PId=b.FId where 条件,SQL中也支持类似的关联更新和关联删除。 关联更新语法: update a set a.字段=” from A ...

    转自https://www.cnblogs.com/ziyun20160613/p/6346616.html

    在SQL中,经常用到关联查询,比如select a.* from A a inner join B b on a.PId=b.FId where 条件,SQL中也支持类似的关联更新和关联删除。

    关联更新语法:

    update a set a.字段=” from A a inner join B b on a.PId=b.FId where 条件

    关联删除语法:

    delete from a from A a inner join B b on a.PId=b.FId where 条件

    注解:A,B为表名,a.PId为A表的主键,B.FId为B表的外键,关联A表

    通过上面的语法,可以发现from 后面是一样的。

    下面是我写的一个小例子。

    建立两个表:用户表 User和博客表 Blog,如下图所示:

    执行以下脚本插入测试数据:

    insert into [User](UserName,[Password],Memo) values (‘张三’,’123456′,”)
    insert into [User](UserName,[Password],Memo) values (‘李四’,’123456′,”)
    insert into [User](UserName,[Password],Memo) values (‘王五’,’123456′,”)

    insert into Blog(Title,UserId) values (‘标题1′,1)
    insert into Blog(Title,UserId) values (‘标题2′,2)
    insert into Blog(Title,UserId) values (‘标题3′,3)
    insert into Blog(Title,UserId) values (‘标题4′,3)
    insert into Blog(Title,UserId) values (‘标题5′,3)

    执行更新操作:

    将发表了博客标题为“标题1”的用户的备注设置为”发表了一篇名为(标题1)博客的用户”,SQL如下:

    update u set u.Memo=’发表了一篇名为(标题1)博客的用户’ from [User] u
    inner join Blog b on u.UserId=b.UserId where b.Title=’标题1′

    执行删除操作:

    删除UserId为3的用户发表的所有博客,SQL如下:

    delete from b from Blog b inner join [User] u on u.UserId=b.UserId where u.UserId=3

    上面的关联删除可以直接写成delete from Blog where UserId=3,这里只做演示用。

     

    以上的关联删除SQL我自己验证执行过,结果是OK的,如果有怀疑瞎写,欢迎各位贴代码打脸

     
    展开全文
  • Mysql关联更新命令

    千次阅读 2020-10-13 15:51:37
    Mysql关联更新命令 在使用mysql过程中,需要使用关联更新,它的命令方式也和传统的单表更新有一定的差别,尤其是有条件要求的更新,语法和单表更新有一定差别。 UPDATE 语句的基本语法 使用 UPDATE 语句修改单个...

    Mysql关联更新命令

          在使用mysql过程中,需要使用关联更新,它的命令方式也和传统的单表更新有一定的差别,尤其是有条件要求的更新,语法和单表更新有一定差别。

    UPDATE 语句的基本语法

    使用 UPDATE 语句修改单个表,语法格式为:

    UPDATE <表名> SET 字段 1=值 1 [,字段 2=值 2… ] [WHERE 子句 ]
    [ORDER BY 子句] [LIMIT 子句]

    语法说明如下:

    • <表名>:用于指定要更新的表名称。
    • SET 子句:用于指定表中要修改的列名及其列值。其中,每个指定的列值可以是表达式,也可以是该列对应的默认值。如果指定的是默认值,可用关键字 DEFAULT 表示列值。
    • WHERE 子句:可选项。用于限定表中要修改的行。若不指定,则修改表中所有的行。
    • ORDER BY 子句:可选项。用于限定表中的行被修改的次序。
    • LIMIT 子句:可选项。用于限定被修改的行数。

    注意:修改一行数据的多个列值时,SET 子句的每个值用逗号分开即可。

    关联多表进行update更新操作

     

    假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price;另外一张表是ProductPrice表,我们要将ProductPrice表中的价格字段Price更新为Price表中价格字段的80%。
    在Mysql中我们有几种手段可以做到这一点,一种是update table1 t1, table2 ts ...的方式:

    代码如下:


    UPDATE product p, productPrice pp
    SET pp.price = pp.price * 0.8
    WHERE p.productId = pp.productId
    AND p.dateCreated < '2004-01-01'


    另外一种方法是使用inner join然后更新:

    代码如下:


    UPDATE product p
    INNER JOIN productPrice pp
    ON p.productId = pp.productId
    SET pp.price = pp.price * 0.8
    WHERE p.dateCreated < '2004-01-01'


    另外我们也可以使用left outer join来做多表update,比方说如果ProductPrice表中没有产品价格记录的话,将Product表的isDeleted字段置为1,如下sql语句:

    代码如下:


    UPDATE product p
    LEFT JOIN productPrice pp
    ON p.productId = pp.productId
    SET p.deleted = 1
    WHERE pp.productId IS null


    另外,上面的几个例子都是两张表之间做关联,但是只更新一张表中的记录,其实是可以同时更新两张表的,如下sql:

    代码如下:


    UPDATE product p
    INNER JOIN productPrice pp
    ON p.productId = pp.productId
    SET pp.price = pp.price * 0.8,
    p.dateUpdate = CURDATE()
    WHERE p.dateCreated < '2004-01-01'


    两张表做关联,更新了ProductPrice表的price字段和Product表字段的dateUpdate两个字段。

     

    展开全文
  • MySQL 同一张表字段更新与多表之间字段更新(关联更新)与批量更新同一张表字段更新多表之间字段更新批量更新 同一张表字段更新 user 表中,把 id = 3 的记录的 username 更新为 id = 2 的记录的 username 的值。 ...

    MySQL 同一张表字段更新与多表之间字段更新(关联更新)与批量更新

    同一张表字段更新

    • user 表中,把 id = 3 的记录的 username 更新为 id = 2 的记录的 username 的值。
    • 在这里插入图片描述
    • SQL 语句:
      • UPDATE user u1,
            user u2 
        SET 
            u1.username = u2.username
        WHERE
            u1.id = 3 AND u2.id = 2;
        
    • 在这里插入图片描述

    多表之间字段更新

    • 把 manager 表 id = 1 的记录的 name 字段设置为 user 表 id = 3 的记录的 username 字段的值,nickname 字段设置为 staff 表 id = 1 的记录的 name 字段的值。
    • 在这里插入图片描述在这里插入图片描述在这里插入图片描述
    • SQL 语句:
      • UPDATE user u,
            staff s,
            manager m 
        SET 
            m.name = u.username,
            m.nickname = s.name
        WHERE
            u.id = 3 AND s.id = 1 AND m.id = 1;
        
    • 在这里插入图片描述

    批量更新

    UPDATE test_table 
    SET 
        update_time = NOW(),
        status = CASE id
            WHEN '1000001' THEN '1'
            WHEN '1000002' THEN '2'
            WHEN '1000003' THEN '3'
        END,
        remark = CASE id
            WHEN '1000001' THEN '备注1'
            WHEN '1000002' THEN '备注2'
            WHEN '1000003' THEN '备注3'
        END
    WHERE
        id IN (1000001 , 1000002, 1000003);
    

    作用:批量更新以下记录:

    [
     {"id":1000001,"remark":"备注1","status":1},
     {"id":1000001,"remark":"备注2","status":2},
     {"id":1000001,"remark":"备注3","status":3}
    ]
    
    展开全文
  • DB2多表关联更新

    2021-01-29 23:54:13
    DB2多表关联更新 注意: 最后一定要加where条件。否则,会将没有关联上的数据字段更新成null. update TARGET T set (A, B, C )=(select A, B, C from JOINTABLE J where T.A = J.A ) where exists...
  • access 更新 && 关联更新

    千次阅读 2017-05-31 18:18:05
    更新update 表1 set 表1.A = replace(表1.A,“要替换数据”,“新数据”) where not isnull(表1.A);关联更新update 表1 AS a inner join 表2 AS b on a.A=b.B set a.C=b.D where a.E……
  • SQL中的关联更新和关联删除

    千次阅读 2017-01-31 12:28:11
    在SQL中,经常用到关联查询,比如select a.* from A a inner join B b on a.PId=b.FId where 条件,SQL中也支持类似的关联更新和关联删除。 关联更新语法: update a set a.字段=” from A a inner join B b on a....
  • Oracle Update多表关联更新

    千次阅读 2017-07-27 10:53:01
    项目中用到了Oracle Update多表关联更新,简单记录一下 写法一: update TBL_COMPANY_USER card  set card.status = 9  where card.company_id =   (select company.ID  from TBL_COMPANY_INFO ...
  • Oracle:多表关联更新字段(update)

    千次阅读 2019-11-13 09:21:25
    Oracle可以用以下两种方式实现多表关联更新字段: update ( select t1.name name1, t2.name name2 from table1 t1 left join table2 t2 on t1.id = t2.id where t1.age > 20 ) tmp set tmp.name1 = tmp.name2...
  • oracle update 多表关联更新

    千次阅读 2020-07-08 09:04:05
    oracle 多表关联更新 update t_water_livestock_breed_2020 t set t.type_identified = (select r.iteam_code from t_dict_dictionary_iteam r where t.type_identified = r.iteam_name and r.class...
  • jqGrid beforeSaveCell和afterSaveCell实现单元格编辑复杂业务逻辑验证及其它列关联更新。editrules一般基于内容的格式、值范围验证,beforeSaveCell则可用于复杂的业务逻辑验证。afterSaveCell则可用于表格其它列...
  • mysql关联更新

    千次阅读 2019-02-12 16:06:33
    b表中的数据更新到a表 update order a ,(select * from shop) b set a.shop_id=b.id where a.shop_id=b.id;
  • MySQL 多表关联更新及删除

    万次阅读 2017-04-07 18:31:36
    一、 多表关联更新 问题描述:现有tdb_goods表(含有具体信息)和tdb_goods_cates表(没有具体信息),需要查询tdb_goods表的所有记录,并且按"类别"分组,且将分组结果写入到tdb_goods_cates数据表。然后通过tdb_...
  • ACCESS关联更新

    千次阅读 2011-05-06 14:43:00
    写SQL SQLVER写习惯,ACCESS关联更新写了很久都写不对,还是GOOGLE了一下才搞出来, 备忘一下   UPDATE kssfxm AS A INNER JOIN KSBMB AS B ON A.KSID=B.KSID SET A.KSBM = B.KSBM;
  • 发现之前并没有整理过mysql表关联更新,这里补上。有时候我们需要用b表去更新a表的记录,如果只有一个字段那通常我们可能就update set a.xxx=(select b.xxx from b where a.ib.id) ,但是字段一多,显得就不是特别...
  • SQL update多表关联更新

    千次阅读 2018-05-04 11:30:34
    – 方法1. 子查询方式 ...两表关联更新 – 方法1. 子查询方式 UPDATE 表2 SET 表2.C = (SELECT B FROM 表1 WHERE 表1.A = 表2.A) WHERE exists ( SELECT 1 FROM 表1 WHERE 表1.A = 表2.A) ; update ...
  • update left join 多表关联更新

    万次阅读 热门讨论 2017-04-15 14:52:52
    UPDATE table_1 t1 left join table_2 t2 on t2.id = t1.tid SET t1.username = t2.uname where t1.id>5; 单张表自联,多表关联更新都可以。
  • SQL update 多表关联更新

    千次阅读 2018-03-15 06:29:41
    转载 2012年10月13日 23:41:41 标签: 多表关联更新 / 27875 编辑 删除 有A、B张表,其记录如下:A表c1 c2--------------1 a12 a23 a38 a8B表c1 c3--------------1 b12 b13 b310 b1...
  • ORACLE 使用关联更新做update 优化方案

    千次阅读 2018-11-12 09:53:55
    ORACLE 使用关联更新做update 优化方案 ** ORACLE数据库关系更新/修改 优化方案 –感谢您在百忙之中,来捧场,笔者有什么不对的地方,感谢您的纠正。 我们可以做个实验去验证一下 这里我们使用的是scott测试账户,方便...
  • MySQL、SQLServer多表关联更新
  • 前提知识 在oracle数据库中,每一行记录都有一个该记录的唯一标识rowid,rowid一旦确定不会随意变动。rowid由10个字节存储,在数据库查询中...在两表的关联更新时,一般都会在表上建立索引。在表上建立索引时,ora...
  • mysql关联更新update

    千次阅读 2019-06-03 16:03:41
    update db_operation_log o LEFT JOIN db_user u ON o.user_id = u.id set o.user_name = u.real_name , o.mobile = u.mobile
  • SQL关联更新

    千次阅读 2019-02-22 18:34:06
    根据字典表,更新主表字段
  • MySQL多表关联更新及删除

    千次阅读 2018-06-01 16:52:54
    一、 多表关联更新问题描述:现有tdb_goods表(含有具体信息)和tdb_goods_cates表(没有具体信息),需要查询tdb_goods表的所有记录,并且按"类别"分组,且将分组结果写入到tdb_goods_cates数据表。然后...
  • 两个表关联更新

    千次阅读 2013-04-02 16:03:43
    在项目开发过程中,突然发现有一个表的字段值...不过好久没有弄过两个表的关联更新了。有点生疏了。特地在这里记录一下。 表: create table TA ( ID int identity(1,1), R1 int, R2 int ); create table TB ( ID
  • mysql 两表关联更新

    万次阅读 2018-08-10 21:51:20
    在进行两个表join关联查询时,此时我想把p表中的user_name赋值给a表中的user_name,直接执行SQL如下: UPDATE mz_insurance.mz_insurance_user p LEFT JOIN insurance.ins_user a ON p.union_id = a.union_id SET...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 544,368
精华内容 217,747
关键字:

关联更新