在现有Postgresql数据表中添加新列type(表中已有数据)出现下面问题:
select count(type),type from table group by type
结果出现:
count(type) type
10 新插入的数据
20 a
30 b
50 表中原有数据
发现出现两个type为''的结果,当时很不理解。通过各种测试查询type=''或在type值前后加字符区别和type长度等于0等等。问题都未能解决!
突然想到添加列时未指定默认值,那就好办了。我将以前数据中type列添加一个默认值。
update table set type='' where date < 添加新列的时间。
再查询
count(type) type
60
20 a
30 b
OK
问题解决.
总结:
遇到各种异常问题,多想多试。
select count(type),type from table group by type
结果出现:
count(type) type
10 新插入的数据
20 a
30 b
50 表中原有数据
发现出现两个type为''的结果,当时很不理解。通过各种测试查询type=''或在type值前后加字符区别和type长度等于0等等。问题都未能解决!
突然想到添加列时未指定默认值,那就好办了。我将以前数据中type列添加一个默认值。
update table set type='' where date < 添加新列的时间。
再查询
count(type) type
60
20 a
30 b
OK
问题解决.
总结:
遇到各种异常问题,多想多试。