mysql - 我可以使用未知数据根据另一个表中的数据更新 SQL 表吗?
问题描述
我正在制作一个访问 MySQL 数据库的 NetBeans Servlet;并根据 HTML 文本字段更新数据。如果邮件和密码(在 user_data 中)存在,我需要更新用户表中的某些名称和颜色;但是我不知道怎么做。
在小服务程序中
Statement st = (Statement) conexion.createStatement();
ps = conexion.prepareStatement("***Where I need the answer***")
ps.setString(1, name);
ps.setString(2, color);
ps.setString(3, mail);
ps.setString(4, password);
ps.executeUpdate();
在 MySQL 中
create table if not exists user(
id_user int(6) not null primary key auto_increment,
mail nvarchar(40),
password nvarchar(20));
create table if not exists user_data(
id_user int(6),
name varchar(40),
color varchar(6),
grade float(2,1),
foreign key (id_user) references usuarios(id_user)
on delete cascade on update cascade);
解决方案
我怀疑您正在寻找:
update user_data ud
set name = ?, color = ?
where exists (
select 1
from user u
where u.id_user = ud.id_user and u.email = ? and u.password = ?
)
推荐阅读
- active-directory - 如何使用 Microsoft Graph 仅获取真实用户
- python - Portalocker 未按预期退出,而 fcntl 则退出
- xml - 需要使用 XSL 转换创建 word 文件的副本
- python - 如何在这里循环计时器?
- python - 如何访问通过 Holoviews 中的流选择的值?
- mysql - 如何在第三方模块上添加自定义类型?
- node.js - Javascript分配变量并检查不为空
- python - AttributeError:“SQLiteCursorWrapper”对象没有属性“callproc”
- python - 如何比较 2 个不同长度的 json 列表?
- mysql - 如何将 JSON 解析为 MySQL