十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
有时候,会很不小心,在业务运行中执行了一条锁表语句。这时候该怎么办?
创新互联公司专注于梅列网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供梅列营销型网站建设,梅列网站制作、梅列网页设计、梅列网站官网定制、微信小程序开发服务,打造梅列网络公司原创品牌,更为您提供梅列网站排名全网营销落地服务。
例如:修改元数据。
SHOW FULL PROCESSLIST 查看一下:
发现修改之后,锁表了。这时候怎么办? 杀死它 KILL 4623660
然后一切又恢复正常了。
一般对于数据量较大的表,需要修改表结构,或者做一些耗时比较久的锁表操作,建议在晚上(业务闲时)执行。这个时候可以配合使用任务处理一下。
如:修改一个表的字段长度,和添加索引
名词解释:
接着回家睡觉,第二天回来检查结果就好了。
附:添加唯一索引示例
MYSQL存储过程结合任务处理耗时操作
工具/材料
Navicat For MySQL
01
打开Navicat for MySQL,找到一个数据库,然后右键单击表,选择新建表选项,如下图所示
02
在弹出的新建表界面,我们给表建一些字段,如下图所示,建好之后保存即可
03
建好的表会在数据库的右侧界面显示出来,需要查看哪个表直接选择即可
04
下面我们在test数据库中新建一个查询,通过alter table语句修改表中的age字段不为空,如下图所示
1、首先新建一张表结构。
2、select * from t_temp_test 查看下这张表已经建好在数据库里面了。
3、查看该t_temp_test表结构 sp_help t_temp_test,可以看到字段column_b 的默认值定义为空,默认属性是DF__t_temp_te__colum__19DA45DB。
4、修改表的默认值先要把表的默认属性删除了才能修改,删除表的默认属性。
5、删除之后再执行sp_help t_temp_test,这个时候默认值属性已经被删除了的。
6、然后再重新给字段新加上默认属性alter table t_temp_test add constraint DF__t_temp_te__colum__19DA45DB DEFAULT (('123')) for column_b。
7、执行完毕再查询表结构sp_help t_temp_test可以看到表的默认值已经被更改为字符串‘123’。