手摸手系列之批量修改MySQL数据库所有表中某些字段的类型/注释/默认值

在数据库迁移过程中,我们使用NavicatPremium进行表结构和数据同步。
但在同步过程中,发现部分字段的数据类型不正确。
例如,客户ID字段从OracleNUMBER类型错误地转换为MySQL十进制(10),应更正为h3Int(20)。
逻辑删除标志DEL_FLAG被错误地指定为十进制类型,应更正为int(1)。

鉴于涉及上百张表,手动一一修改显然是不可能的。
接下来,我们将向您展示如何批量更改数据库中的数据类型、默认值和字段注释。
首先,查询系统表以确定哪些表的哪些字段有错误类型。
例如,在waimao数据库的所有表中查询TENANT_ID字段为decimal类型的记录。
然后使用CONCAT函数创建需要格式化以执行更新语句的字段。
将查询结果和CONCAT语句复制到查询窗口中运行。
按照相同的步骤将DEL_FLAG字段类型从十进制更改为整数。
另请务必将默认DEL_FLAG值设置为0并添加适当的注释。
更改默认值和注释的SQL语句如下。
最后打开任意一个表查看效果。
通过查看,可以确认TENANT_ID和DEL_FLAG字段的数据类型、默认值和注释已成功更新。

请问mysql如何设置int的默认值为0或者1?

`id`enum('1','0')DEFAULT'0'#or`id`int(1)DEFAULT'0'