SQL server | 优雅地创建一个SQL server的触发器
触发器是一种特殊的存储过程,主要通过事件的触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化,可以进行联级运算,比如某个表上的触发器包含对另一张表的数据操作,而该操作又会导致该表触发器被触发。
触发器是一种特殊的存储过程,主要通过事件的触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化,可以进行联级运算,比如某个表上的触发器包含对另一张表的数据操作,而该操作又会导致该表触发器被触发。
MySQL数据库是由瑞典MySQL AB公司开发的一个关系型数据库管理系统,是Oracle旗下的产品。MySQL因其体积小、速度快、使用成本低、并且开放源代码,为当下最为流行的关系型数据库之一。一般的中小型网站的开发都选用MySQL作为数据库。
最近需要把一个项目的最新版本代码同步到服务器上,发现本地使用的数据库名,在云服务器上已经存在了,且被用于开发其他项目的demo,为了保证项目和数据库同名,不得不把服务器上的数据库名修改,然而当我把本地的数据库还原到服务器上时,发现物理文件名和日志名重复,无法还原。才发现,单单修改一个数据库名,在这种情况下是不行的,相当于给数据库取了一个别名,底层还是指向原来的名字。还需要修改逻辑文件名和物理文件名。
在翻阅博客的过程中发现,原来是MySQL 8 版本开始更改了加密方式,而Navicat还是用原来的加密方式,为了能够解决登陆问题,需要用「mysql_native_password」加密方式更新 root 用户密码。alter user 'root'@'localhost' identified with mysql_native_password by '123456';
修改mysql数据库用户名和密码使用: ALTER USER '用户名'@'localhost' IDENTIFIED BY '新密码'; 并刷新权限:FLUSH PRIVILEGES;
在MySQL中设置时区是一个常见的需求,尤其是在跨国项目或者需要同步多个数据库时。MySQL提供了多种方式来设置和查看时区,可以通过命令行、配置文件或者在应用程序中动态设置。