我可以使用未知数据根据另一个表中的数据更新 SQL 表吗? [关闭]

Posted

技术标签:

【中文标题】我可以使用未知数据根据另一个表中的数据更新 SQL 表吗? [关闭]【英文标题】:Can I update a SQL table based on data from another table, with unknown data? [closed] 【发布时间】:2020-05-07 17:46:06 【问题描述】:

我正在制作一个访问 mysql 数据库的 NetBeans Servlet;并根据 html 文本字段更新数据。如果邮件和密码(在 user_data 中)存在,我需要更新 user 表中的某些名称和颜色;但我不知道怎么做。

在 servlet 中

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);

【问题讨论】:

【参考方案1】:

怀疑您正在寻找:

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 = ?
)

【讨论】:

谢谢!它就像一个魅力!!!!

以上是关于我可以使用未知数据根据另一个表中的数据更新 SQL 表吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

sql将一个表中的某一列数据更新到另一个表中

Oracle SQL:使用另一个表中的数据更新表

根据另一个表中的记录更新SQL记录

SQL查询语法错误,使用另一个表的数据更新表[重复]

SQL:根据另一个表的计数结果更新一个表中的列

SQLSERVER如何在数据库里根据某个字段,查出该表名字