将数据库中的所有TinyInt(1)列更改为非空默认值0

时间:2012-02-03 21:25:59

标签: mysql

我有一个数据库,我需要改变每一个

tinyint(1) default null

列(顺便提一下,这些列中的每个值都设置为null)在该数据库中的每个表中:

tinyint(1) not null default 0

尽快。

实现这一目标的最快/最有效的方法是什么?(以编程方式或其他方式)?

1 个答案:

答案 0 :(得分:1)

查询information_schema.COLUMNS视图以获取表/列列表,然后使用您选择的编程语言循环搜索结果并执行ALTER TABLE查询。

SELECT TABLE_NAME, COLUMN_NAME 
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'yourDatabase'
AND COLUMN_TYPE = 'tinyint(1)'