我正在使用以下查询(为Internet清理)向Postgresql数据库添加一个新的"NOT NULL"列:
ALTER TABLE mytable ADD COLUMN mycolumn character varying(50) NOT NULL;
Run Code Online (Sandbox Code Playgroud)
每次运行此查询时,都会收到以下错误消息:
Run Code Online (Sandbox Code Playgroud)ERROR: column "mycolumn" contains null values
我很难过.我哪里错了?
注意:我主要使用pgAdmin III(1.8.4),但是当我从终端内运行SQL时收到了同样的错误.
我有一个PostgreSQL 9.1数据库,其中包含100个左右的表,这些表被加载到"公共"模式中.我想将这些表(但不是'public'中的所有函数)移动到'data'模式.
我知道我可以使用以下内容一次移动1个表.
ALTER TABLE [tablename] SET SCHEMA [new_schema]
Run Code Online (Sandbox Code Playgroud)
是否可以在一次操作中将所有表移动到新架构?如果是这样,那么完成这项任务最有效的方法是什么?