基本技术为:为当前表结构创建一个新的.frm文件,然后用它替换掉已经存在的那张表的.frm文件
- 创建一张具有相同结构的空表,并进行所需的修改(增加ENUM常量)
- 执行FLUSH TABLES WITH READ LOCK。这将会关闭所有正在使用的表,并且禁止任何表被打开。
- 交换.frm文件
- 执行UNLOCK TABLES来释放第二步的读锁
下面先给出原表的结构:
下面以给sakila.film表的rating列增加一个常量为例:
假设我们需要为该表中的rating字段添加一个新的ENUM常量G: