在 PostgreSQL 中声明“not-null-string”数组类型的列

2023-12-27

使用 PostgreSQL 9.6,我可以创建一个类型为“not-null-array of string”的列:

CREATE TABLE example (
    foo TEXT[] NOT NULL
);

但这允许元素为空,即我可以这样做:

INSERT INTO example VALUES('{NULL}') 

有没有办法创建一个类型为“非空字符串的非空数组”的列?我想要这样的东西:

CREATE TABLE example (
    foo (NOT NULL TEXT)[] NOT NULL
);

但它在语法上无效。有没有有效的方式来表达这一点?


自第 9.5 页起更简单,添加了array_position()

CREATE TABLE example (
    foo TEXT[] NOT NULL check (array_position(foo, null) is null)
);

您可能还想检查空数组:

CREATE TABLE example (
    foo TEXT[] NOT NULL check (foo <> '{}' and array_position(foo, null) is null)
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 PostgreSQL 中声明“not-null-string”数组类型的列 的相关文章

随机推荐

  • 如何实现通用 Kafka Streams 反序列化器

    我喜欢 Kafka 但讨厌编写大量序列化器 反序列化器 所以我尝试创建一个GenericDeserializer
  • Tk 树视图列排序

    有没有办法对 a 中的条目进行排序Tk 树视图 http www tkdocs com tutorial tree html通过单击该列 令人惊讶的是 我找不到任何相关文档 教程 帕特霍伊茨 http www patthoyts tk fr
  • .htaccess 中的 RewriteCond 和 RewriteRule

    我有一个客户端文件夹位于http www example com client http www example com client但是 我现在已经在服务器上安装了 SSL 并且想要使用 HTACCESS 添加永久重定向 以便每当访问 c
  • Swagger UI 中的掩码输入(示例 - 密码)?

    我有一个 API 的三个路径变量 我想用 屏蔽 Swagger UI 上的一个输入 使用 Springdoc OpenAPI 时如何做到这一点 您只需使用 swagger 注释即可 Parameter schema Schema type
  • 有什么理由不在单个节点上使用 Docker Swarm(而不是 Docker-Compose)?

    有 Docker Swarm 现已内置于 Docker 中 和 Docker Compose 人们似乎只在单个节点上运行容器时使用 Docker Compose 但是 Docker Compose 不支持任何deploy配置值 请参见htt
  • jqGrid:禁用排序

    我使用手动将行添加到 jqGridaddRowData 并且必须保持这些行的顺序 但是 在分页时 所有行都会重新排序以按网格的第一个可见列进行排序 我已经关闭了所有可以找到记录的排序选项 如何防止所有排序并维护所有页面中的行顺序 Code
  • 如何使用 LINQ 将这些数据组织成我想要的对象?

    我有一个以下类 我试图创建一个包含我查询过的一堆数据的列表 public class Agency public string AgencyName get set public int AgencyID get set public IE
  • Weblogic 12.1.3 PrivilegedActions 类未找到

    我创建了一个简单的项目 调用 jms 队列并放入消息 这里是代码 public class QueueSend Defines the JNDI context factory public final static String JNDI
  • 在 iOS 配置门户上创建 AdHoc 配置文件时出错 [已关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 每当我尝试
  • IE想要从Django下载返回的JSON

    我有一个 Django 站点 其中一个页面正在执行基于 AJAX 的文件上传 使用Valum 的文件上传器 http valums com ajax upload 通过 JSON 返回一些信息 Django 返回 JSON 的方式是 ret
  • Dapper for NET Core:插入表并返回插入行的 id [重复]

    这个问题在这里已经有答案了 我的存储库中有以下方法 到目前为止 我相信返回的 int 只是指示操作是否成功的一个 我希望 int 是成功执行后返回的 id 表的单列 我该如何做到这一点 public async Task
  • 邮件中的证书链错误中的自签名证书

    我尝试编写一个简单的邮件程序 我用了节点邮件程序 and SMTP协议模块 我执行了 但它显示一个错误 例如 邮件中的证书链错误中的自签名证书 问题是什么 var express require express var app expres
  • 在 vscode 中调试 Serverless 时未命中断点

    在 VSCode 中调试基于无服务器的应用程序时 我的断点均未处于活动状态 启动 json configurations console integratedTerminal cwd workspaceRoot name Debug por
  • 如何正确使用 LINQ 和 MySQL? [复制]

    这个问题在这里已经有答案了 可能的重复 LINQ to MySQL 最好的选择是什么 https stackoverflow com questions 1469100 linq to mysql what is the best opti
  • Virtualenv 与 Eclipse (Galileo) [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有人可以指导让 Eclipse Galileo PyDev 和 Virtualenv 一起工作吗 我专门尝试运行 Pinax 但任何说
  • C++:处理线程本地对象销毁

    我有一个日志系统 它基本上使用线程本地缓冲区来记录 这有助于减少锁定 可以将一堆消息写入线程本地缓冲区并一次性刷新 而且由于它是线程本地的 我们可以避免为每个日志消息分配缓冲区 无论如何 问题是在进程退出期间 我们在访问线程本地缓冲区时看到
  • 如何以不同的增量减去 2 个单独文件的特定行

    https i stack imgur com oYoYz png https i stack imgur com oYoYz png https i stack imgur com AdmuM png https i stack imgu
  • 如何在 MVC 模型中表示一个月的复选框

    我无法理解如何使用 MVC 创建下表 并将其成功绑定到模型 我基本上需要跟踪该月的哪几天需要发生事件 这是我对模型的尝试 EDIT 这不是一个月 而是任意 4 周的周期 public class ScheduleViewModel publ
  • 对术语...进行抽象会导致术语...类型错误

    这是我想证明的 A Type i nat index f nat nat n nat ip n lt i partial index f nat option nat L partial index f index f n Some n V
  • 在 PostgreSQL 中声明“not-null-string”数组类型的列

    使用 PostgreSQL 9 6 我可以创建一个类型为 not null array of string 的列 CREATE TABLE example foo TEXT NOT NULL 但这允许元素为空 即我可以这样做 INSERT