gpt4 book ai didi

mysql - 带变量的 SQL 更新语句

转载 作者:行者123 更新时间:2023-11-29 12:04:38 24 4
gpt4 key购买 nike

我有两个名为“用户”和“日志”的表。

用户表中有名为“userID”的列,该列也是 pk。

日志表有两列,名为“log_detail”和“userID”。

我要查询的是“从用户表中一一获取所有user.userID值,并检查log_detail值是否包含该值,如果计数则用该userID值更新logs.userID”。

我尝试了一些查询,但我真的不知道该怎么做。

顺便说一句,我正在使用Mysql。

UPDATE logs
SET logs.userID = user.userID
SELECT userID
FROM logs
WHERE logs.userID LIKE concat("%",user.userID,"%");

最佳答案

SQL Fiddle

架构详细信息

create table user
(userid varchar(30));

create table logs
(log_detail varchar(100),
userid varchar(30));

insert into user values('user1');
insert into user values('user2');
insert into user values('user3');

insert into logs values('update by user1','user3');
insert into logs values('inserted by user2','user2');
insert into logs values('inserted by user3',null);

更新前的表格数据

|        log_detail | userid |
|-------------------|--------|
| update by user1 | user3 |
| inserted by user2 | user2 |
| inserted by user3 | (null) |

更新查询

 update logs join user
set logs.userid=user.userid
where logs.log_detail LIKE concat("%",user.userID,"%");

更新后的表格数据

|        log_detail | userid |
|-------------------|--------|
| update by user1 | user1 |
| inserted by user2 | user2 |
| inserted by user3 | user3 |

关于mysql - 带变量的 SQL 更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31741652/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com