将新列添加到整个数据库表

时间:2017-12-04 07:08:57

标签: mysql sql-server database alter-table

我有一个数据库(aca),我需要在使用一个sql查询时向所有表添加一个新列。

我使用了this approach,但是在应用sql查询时会出错。

SELECT CONCAT('ALTER TABLE ',
table_schema,
'.',
table_name,
' ADD COLUMN parent default 0;') AS ddl
INTO OUTFILE '/tmp/alter_table.sql'
FROM information_schema.tables
WHERE table_schema = 'aca' 
AND table_type = 'base table';

\. /tmp/alter_table.sql

此错误:

  

1 - 无法创建/写入文件'\ tmp \ alter_table.sql'(错误代码:2 - 否   这样的文件或目录)

请,任何想法?

1 个答案:

答案 0 :(得分:0)

删除输入文件并运行以下查询

SELECT CONCAT('ALTER TABLE ',
table_schema,
'.',
table_name,
' ADD COLUMN parent default 0;') AS ddl

FROM information_schema.tables
WHERE table_schema = 'aca' 
AND table_type = 'base table';