2
我想在PostgreSQL的所有表的所有列中用空字符串更新所有记录。有没有办法做到这一点与查询?或者至少如何查询没有NOT NULL约束的所有列。在PostgreSQL的所有表的所有记录中将所有空字符串设置为NULL
我想在PostgreSQL的所有表的所有列中用空字符串更新所有记录。有没有办法做到这一点与查询?或者至少如何查询没有NOT NULL约束的所有列。在PostgreSQL的所有表的所有记录中将所有空字符串设置为NULL
访问这样
select *
from information_schema.columns
where is_nullable = 'YES';
从该数据的INFORMATION_SCHEMA可以生成自己更新所有的表和列的语句。
未来,您可能希望对这些列设置约束,以防止它们被允许为空字符串。 – Kuberchaun 2009-11-06 18:13:59
@ StarShip3000这是从另一个数据库中引入的数据。没有外键,没有任何种类的约束..... – 2009-11-06 23:50:22
您可能想过滤一个特定的数据库和命名空间: 'select_table_name,column_name from information_schema.columns where is_nullable ='YES'and table_schema =''和table_catalog ='''。将这个结果放在一个文本文件中后,可以用'SELECT count(*)from',管道分隔符替换'where',行结束替换':: text ='';'来代替行开始。这将给你选择命令来运行以识别具有空字符串的表 –
2016-05-03 10:38:30