mysql UPDATE 同一表不同字段 10C

分类表:

id cid
1 10
2 12
3 9
4 22

数据表:

id cid pid
1 10 1
2 10 1
3 12 2
4 22 4
5 9 3

数据表的cid和分类表cid一样。

新增数据表pid字段,现在要根据数据表的cid(查询分类表的id)来生成pid,要怎么写sql语句?

0

6个回答

0

select b.id,b.cid,a.id,a.pid
from 数据表 As a,分类表 As b
where a.cid=b.cid

注释:
在SQL中,可以通过AS关键字为表定义别名。

0

update datamanager d inner join category c on d.cid = c.cid set d.pid = c.id;

可以实现你要的效果

0

UPDATE t_data d,t_category c SET d.pid = c.id where d.cid = c.cid;

0

update a set a.pid=b.id from t_data a join t_category b on a.cid=b.cid
希望对你有所帮助

0

mysql数据库 UPDATE a,b SET b.pid = a.id where b.cid = a.cid

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
更新同一张表的整列字段
先需要先把需要更新的整列结果查询出来。 这里记录下mysql时间的函数:DATE_FORMAT( 字段名, '%Y-%m-%d %H:%i:%s' )  第二个参数是要转换的格式,因为我本来的格式中有毫秒。以下是举例:转换的sql :SELECT id AS dd, DATE_FORMAT( created, '%Y-%m-%d %H:%i:%s' ) created2 FROM pe_proje...
update同一张表同一个字段 行a到行b
update approval_flow_config set content=(select content from (     select content from approval_flow_config where id=81) as t)     where id = 91;
数据库中如何在同一张表中,复制已经存在的记录,只有主键不同,其余字段均相同,不变
FAS_BILL_INFO表的主键为BILL_CODE,新生成一个new_bill_code,把old_bill_code对应的全部复制到新生成new_bill_code的记录中; declare     old_bill_code varchar2(44); --旧借据号  旧主键     new_bill_code varchar2(44); --新借据号  新主键     ... begi...
python mysql中不能在同一个sql语句中,先select同一个表的某些值,然后再update这个表。
例: 首先新建表,插入值:DROP TABLE IF EXISTS table_score_one;CREATE TABLE table_score_one ( id INT (10) NOT NULL PRIMARY KEY auto_increment, student_no VARCHAR (10) NOT NULL, student_name VARCHAR (10
mysql对同一张表进行查询和赋值更新
You can't specify target table 'tb_user' for update in FROM clause ,mysql对同一张表进行查询和赋值更新
mysql批量更新多条记录的同一字段为不同值
mysql更新数据的某个字段,一般这样写:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';也可以这样用in指定要更新的记录:UPDATE mytable SET myfield = 'value' WHERE other_field in ('other_values'); 这里注意 ‘other_valu
mysql同表拷贝数据,修改数据
当两个表有很多字段相同,需要从一个表
单表修改某字段的值为该表的另一字段的值 同表改值
有张表明为table的表  有字段A 字段B 我要将字段A的值全部赋值给字段B  update table a set a.B = (SELECT c.A (SELECT b.A  from table b ) c  limit 1)  不能直接select 再 update 必须要再嵌套一层查询   limit1 是因为查询出来为所有结果 而是一个一个赋值  所以取一个就OK   参考...
MySql触发器对同表更新
触发器初始结构: DELIMITER $$ CREATE TRIGGER `数据库名`.`触发器名` BEFORE/AFTER INSERT/UPDATE/DELETE ON `数据库名`.`表名` FOR EACH ROW BEGIN -- 逻辑、条件语句 END$$ DELIMITER ; 目的:当一张表中的某个字段值更新为特定值时,触发更新本...
Mysql 在同一张表中 执行查询并更新数据(连接字符串)
UPDATE   t1 set hscode=CONCAT('LG2018',hscode) WHERE   id   in (select    id    from (SELECT  *  FROM      t1    WHERE   date  like  '%2018%')  as  a) 两个MySQL字符串函数: (1) CONCAT(str1,str2,...)     ...
【转】mysql中为同一张表取多个别名
select employee1.name as employee from employee employee1,employee employee2 where employee1.managerId=employee2.id and employee1.salary>employee2.salary; 这里给同一张表取别名的方法...
两个事物 update同一张表出现的死锁问题
引言 近来做省一级计算机一级考试系统的时候,学生端进行大批量判分的时候,出现了这样的问题(事务(进程 ID 262)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务。): 这个就是我们在代码中写了大批量的update语句,用trace Profiler ,我们对死锁追踪是这样的: 分析: 我们来分析一下上
同一个表中的数据怎么进行比较
面试的时候,遇到了这个问题,当时考虑使用join。但是需要两个表明,记得有一个起别名的功能,但是当时记不清楚了 题目如下 表list中的分数比前一个大的所有数据 select a.score from list a join list b on a.id=b.id+1 where a.score>b.score;
Java大牛养成记——一条SQL语句更新同一张表中的两条数据
背景:项目中的需求是这样的:一堆图片中只有一张图片的状态是“启用”的,其他图片的状态是“未启用”。点击某张图片下面的启用按钮,这张图片的状态为“启用”,同时其他图片的状态修改为“未启用”。想象一下这个过程是很简单的,但是理想是丰满的,现实是骨感的,下面介绍一下详细的过程。 一、问题           背景中说过了,现在就不多赘述了。 二、解决方案1 1、SQL语
Mysql根据字段a的不同值,更新字段b为不同值
使用case when:UPDATE cp_system_param SET `value`= CASE WHEN cp_system_param.`code`='system_name' THEN 'aa' WHEN cp_system_param.`code`='system_title' THEN 'bb' WHEN cp_system_param.`code`='web_flg' T...
mysql 同表 B字段值赋值给A字段 update 语句
mysql 表table_a B字段值赋值给A字段 update 语句 -- 同一个表 UPDATE table_a SET A=(SELECT B FROM (SELECT * FROM table_a) b WHERE b.id = table_a.id) -- 两个表 UPDATE table_a SET A = (SELECT B FROM table_b WHERE table_b...
MySQL----查询同一个表同一字段不同类型
求和(函数判断)1: 查询同一个表同一字段不同类型重点内容 select a.education_sn, SUM(if(c.pay_type = 0,c.pay_fee,0)) as educ_fee, SUM(if(c.pay_type = 1,c.pay_fee,0)) as filing_fee, SUM(if(c.pay_type = 2,c.pay_fee,0)...
mysql 同一个字段作为条件更新
mysql 更新一个字段的值且这个字段作为条件是,会报  Truncated incorrect DOUBLE value: '*********' 错误              例如:UPDATE admin_user SET active_time='2016-11-23'  WHERE admin_id !=1 AND active_time=0;              activ
一张表中不同行的数据(join联合)查询到同一条数据中
$list = Db::query('select t.phone_number,t.group_name,t1.friend_number F1,t2.friend_number F2,(t2.friend_number-t1.friend_number) f from gd_wxcount t join(select phone_number,friend_numbe...
将Mysql数据库中同一表的A字段数据复制到B字段方法
1、将同一数据库同一表中的A字段上的信息复制保存到B字段上,但是如果B字段有数据就不复制,只复制内容为空的行。 UPDATE 表名 SET 字段B = 字段A WHERE 字段B IS NULL; 2、如果不管B字段有无数据都复制则是这样 UPDATE 表名 SET 字段B = 字段A WHERE 字段B; ...
mysql 实现批量更新多条数据为不同的值
UPDATE mytable SET myfield = CASE id WHEN 1 THEN 'value' WHEN 2 THEN 'value' WHEN 3 THEN 'value' END WHERE id IN (1,2,3) 这里使用了case when 这个小技巧来实现批量更新。 举个例子: UPDAT
两个事物 update同一张表出现的死锁问题 (转载)
粘贴会有各种格式显示问题,原文链接:点击查看原文 引言 近来做省一级计算机一级考试系统的时候,学生端进行大批量判分的时候,出现了这样的问题(事务(进程 ID 262)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务。): 这个就是我们在代码中写了大批量的update语句,用trace P...
sql查询同一表格中,不同字段,但是两个字段的值相同的记录行
比如有表格go_shoplist,字段为id,qishu,maxqishu 查询的记录为.qishu与maxqishu相同的行. select * from `go_shoplist` where qishu=maxqishu           下面的写法也正确,模拟联表查询其实查询的是同一个表,用到left join   SELECT a.qishu, a.id, b...
一个表中多个字段对应另一个表中一个字段
link表 info表 link表中的info_one,info_two对应info表的id 现在我要查出link表的id,info_one的name,info_two的name这3个字段 试想一下,如果要查出一个字段的关联名称,连表查就行, 如果还有一个字段要关联另一张表查,当然是连接另一张表了 同样的道理,我们这里有两个字段要关联其他表查,当然是分别连接两个表了,只不过这里的其他表是同一张...
MySQL的update理解,批量更新问题: 同一张表中根据某个字段与另一个字段值,更新第三个字段
一直写select语句, 很少写复杂的update语句, 最近我想批量更新一个表,要求是更新每条数据的a字段,具体更新的值是这条数据的id字段在b字段中出现的次数.简单的理解为下图:     表: abc 把count字段更新为其id在f_id中出现的次数,update完成后应该是:     表:abc 即id为1的count值是2,因为1在f_id中出现了2次; id为2的co...
MySQL 统计同一字段不同值的个数
最近做了一套笔试题,其中有一道 SQL 的题目大概如下 已知数据表如下 day result 2018-2-1 胜 2018-2-1 胜 2018-2-1 负 2018-2-2 胜 2018-2-2 负 2018-2-2 负 输出如下结果 day 胜 负 201...
Mysql 触发器修改同一表不同字段
以前会的,现在忘记如何写了.请高手指点下,rn就是表A,字段a1,a2rn更新字段a1的时候,a2显示a1更新前的数据(old.a1)rnrndelimiter //rncreate trigger update_a after update on Arnfor each rowrninsert into A(a2) values(old.a1);//rndelimiter ;rnrn上面的是错的,但是意思就是这样.rnrnrnrn
mysql同一个表和不同表的一列复制到另一列的方法
1.同一个表的一列复制到另一列 update table1  set field1 = field2; 2.不同表一列复制到另一个列 update table1,table2 set table1.field1=table2.field2 where table1.id=table2.id
mysql: 比较同一张表的相邻两行的某一字段的值
来源:http://www.iteye.com/topic/322307 觉得这个问题比较有趣,发出来给有用的人参考:  /*Column Information For - test.tt*/  ------------------------------------  Field   Type     Collation  Null    Key     Defau
mysql进阶(十四) 批量更新与批量更新多条记录的不同值实现方法
mysql 批量更新与批量更新多条记录的不同值实现方法 在mysql中批量更新我们可能使用update,replace into来操作,下面详细介绍mysql批量更新与性能。 批量更新 mysql更新语句很简单,更新一条数据的某个字段,一般这样写: UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_val
mysql:根据不同条件查对同一字段进行分组统计
如下图:      根据rgt_cname字段,分组统计不同rgt_state值的数量。 sql语句  SELECT rgt_cname, COUNT(*),  COUNT(IF(rgt_state='在库',rgt_state,NULL)) 在库, COUNT(IF(rgt_state='已领用',rgt_state,NULL)) 已领用 FROM rgt_informatio...
mysql 基于某个条件用一个表中的某个字段值更新另一个表的某个字段值
表A和表B,现在希望更新A表,当 A.bid = B.id时,a.x = b.x, a.y=b.y update a inner join b on a.bid=b.id set a.x=b.x,a.y=b.y ;
mysql 对一个字段的多条记录update
举例说明: 表user id name status 1 张三   2 张三   3 李四   4 李四   将同名的第一条记录的status设为:N 如果你打算用下面的方式更新就错了,mysql暂时bu zhi ch update user , tmp set user.status='Y
【mysql】根据不同条件查询表中同一字段
需求:需要在一张表中,查询某个店铺05-17和05-10两天的同一个GMV字段数据遇到问题:在测试过程中发现,如果两天中任意一天没有数据,则该店铺整体数据均不显示解决代码:SELECT a.Seller_nick, IFNULL(a.GMV, 0), IFNULL(b.GMV, 0) AS last_gmv FROM ( SELECT
MySQL中表与表之间进行复制
mysql中把一个表的数据批量导入另一个表中不管是在网站开发还是在应用程序开发中,我们经常会碰到需要将MySQL或MS SQLServer某个表的数据批量导入到另一个表的情况,甚至有时还需要指定导入字段。 本文就将以MySQL数据库为例,介绍如何通过SQL命令行将某个表的所有数据或指定字段的数据,导入到目标表 中。此方法对于SQLServer数据库,也就是T-SQL来说,同样适用 。类别一、 如
mysql 批量修改表中字段数据成不同的值 用一个表更新另一个表的方法
最近在工作的时候突然想到了一个问题,就是mysql如何才能实现批量更新多条记录的同一个字段为不同值,发现其中的学问还是挺多的,所以就把网上总结下来分享给大家,有需要的朋友们可以参考借鉴,下面来一起看看吧。
MySQL数据库同时查询更新同一张表
在平常的项目中,经常会碰到这样的问题:我需要在一张标中同时更新和查询出来的数据。例如:有如下图一张表数据,现在需要更新操作为:把status=1的name值更新为id=2的name值通常情况下我们会想到如下语句来实现这个需求:UPDATE tb_test SET NAME = ( SELECT NAME FROM tb_test WHERE
mysql 中修改表和子查询的表不能为同一个表
mysql1093 1093错误为:但修改一个表的时候子查询不能是同一个表,解决办法:把子查询再套一层,变成原来表的孙子查询就可以了,例如: insert into gg set id3= (select c.a+1 from (select max(id3) as a from gg) c) 这是对的 但是 insert into gg set id3= (s...
数据库考点真题
在关系型是数据库中,有两个不同的事务同时操作数据库中同一表的同一行,不会引起冲突的是:当要删除的记录在数据库中不存在的时候,是不会报错的。
表中同一个字段对应不同数据,select其中一条
 select e.barcode           from (select t.itemnumber,t.barcode,                        row_number() OVER(PARTITION BY itemnumber ORDER BY t.itemnumber desc) as row_flg                      from itemb...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 同数据库课程的设计 海同大数据培训怎么样