Mysql 批量更新update的表与表之间操作 一.方法一 使用User2表数据更新User表: update User as a ,User2 as b set a.role_id=b.set_value where a.role_id=b.set_key: 二.方法二 使用User2表数据更新User表: update User set_key=(SELECT name FROM User2 where id = User.set_value); ; update Group )) w
修改表名 ALTER TABLE 原表名 RENAME TO 新表名; 一句SQL语句只能修改一张表 show tables; 1. SELECT CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO db_', substring(table_name, ), ';' ) FROM information_schema. TABLES WHERE table_name LIKE 'ct%'; 批量复制一下到Notepad++中,只保留sql语句,再复制
一.正式环境操作注意事项: .关闭应用访问或者设置数据库只读 mysql设为只读方法: 开启只读: mysql> show global variables like "%read_only%"; #查看相关参数,OFF为关,ON为开,默认为OFF mysql> flush tables with read lock; mysql> ; 关闭只读: mysql> unlock tables; mysql> ; mysql> show global v
数据库表之前的引擎是MyISAM,影响事务操作,要改成Innodb引擎 查询表引擎 SELECT CONCAT(table_name,' ', engine) FROM information_schema.tables WHERE table_schema="表名" AND ENGINE="MyISAM"; 生成修改sql select CONCAT('alter table ',table_name,' engine=InnoDB;') FROM informa
方法一 写PL/SQL,开cursor declare l_varID varchar2(20); l_varSubName varchar2(30); cursor mycur is select T2.Id,T2.Subobject_Name from T2; begin open mycur; loop fetch mycur into l_varID,l_varSubName; exit when mycur %notfound; up
#走过,试过的路 UPDATE information_schema.`SCHEMATA` SET DEFAULT_COLLATION_NAME='utf8_general_ci' WHERE DEFAULT_COLLATION_NAME<>'utf8_general_ci'; #————尝试使用update语句来修改,这是走不通的,报以下错误 没有权限. #错误代码: 1044#Access denied for user 'root'@'%' to database 'informatio
update odr_order_base INNER JOIN (select merchant_id,order_base_id from odr_order_commodity) b on odr_order_base.order_base_id = b.order_base_id set odr_order_base.merchant_id = b.merchant_id update odr_order_base_his a INNER JOIN (select merchant_id