MySQL更新2个表里面数据的命令(向大神们请教)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL更新2个表里面数据的命令(向大神们请教)相关的知识,希望对你有一定的参考价值。

表1:employee(ID,name,password)(主键ID)
表2:info(ID,tell,address)(主键ID)
我想同时更新相同ID的所有数据怎么写?
我之前的是:UPDATE employee, info SET employee.name='abc', employee.password='123', info.tell='123456', info.address='zxy' WHERE employee.ID=info.ID;

参考技术A 假设你要更新 ID =1,如果用MYSQL是可以实现的(目前只有MYSQL支持这样的语法)。参考下面的语法。

UPDATE employee t1,info t2
SET t1.name='abc', t1.password='123', t2.tell='123456', t2.address='zxy'
WHERE t1.ID=t2.ID and t1.ID = 1;

但是按照SQL标准,在其它数据库里SQL 语句不支持 用UPDATE来同时更新两张表。你这么做可移植性不好。而且和拆成两条来比较也没优势的地方。

用其它数据库你必须拆成两条UPDATE,假设你要更新 ID =1的 一个人的两部分信息那么可以参考下面的方法。

UPDATE employee SET name='abc', password='123', WHERE ID = 1
UPDATE info SET tell='123456', address='zxy' WHERE ID = (select ID from employee where ID=1);追问

我的JSP系统项目的修改执行必须达到同步修改,既然弄不了,我索性重新设计数据库,最后还是实现了我所想要的封装方法,不过还是要谢谢你的

追答

用TRANSACTION不就行了。

本回答被提问者采纳
参考技术B 不可同时更新两个表。

用flask连接数据库进行数据可视化时出错,请大神帮忙看看

报错:ERROR in app: Exception on / [GET]ValueError: invalid literal for int() with base 10: 'localhost:3306'求大神帮忙

参考技术A shell连接不同的数据库会有不同的连接命令,像连oracle用sqlplus命令, mysql 用mysql命令,sybase用isql命令
如连接oracle:sqlplus 用户名/密码@ip地址[:端口]/service_name [as sysdba]

mysql命令 应该是mysql -u用户名 -p用户密码 -hIP

Access不清楚,access能安装在unix上吗?应该只能在windows上才能用吧.

以上是关于MySQL更新2个表里面数据的命令(向大神们请教)的主要内容,如果未能解决你的问题,请参考以下文章

如何批量删除mysql某个字段的某个值?

PostgreSQL数据库中,我想要设置一个固定数值,也就是就算数据库更新了这个数值也不会改变,请求大神帮助

请教大神,mysql运行突然变特别慢

想要用MFC操作excel文件,有些问题向大侠们请教!

LINUX 指令连接服务器的MYSQL数据库显示失败,请教一下是啥原因?最好能详细点吗?在线等谢谢

批处理【请教大神们】怎样在数字跟汉字中间加tab制表符呢