两列上具有空值的Postgresql唯一索引 让我们考虑简单表 addresses_tab id (SERIAL), user_id (INTEGER) address (VARCHAR)

两列上具有空值的Postgresql唯一索引 让我们考虑简单表 addresses_tab id (SERIAL), user_id (INTEGER) address (VARCHAR),postgresql,unique-index,Postgresql,Unique Index,可以在两列上生成唯一索引: user_id, address 但仅在字段地址不为空的情况下 因此,有效的案例是: 15, 'SOME STREET' 15, NULL 15, 'ANOTHER STREET' 15, NULL 但这是无效的 15, 'SOME STREET' 15, 'SOME STREET' 在地址上创建唯一索引(用户id,地址)有什么问题吗?你说得对!我没有注意到,在一些地址字段中,我的字符串是空的,而不是空值。如果记录上的地址不是空的,那就足够了吗?在地址(用户i

可以在两列上生成唯一索引:

user_id, address 
但仅在字段地址不为空的情况下

因此,有效的案例是:

15, 'SOME STREET'
15, NULL
15, 'ANOTHER STREET'
15, NULL
但这是无效的

15, 'SOME STREET'
15, 'SOME STREET'

在地址上创建唯一索引(用户id,地址)
有什么问题吗?你说得对!我没有注意到,在一些地址字段中,我的字符串是空的,而不是空值。如果记录上的地址不是空的,那就足够了吗?
在地址(用户id,地址)上创建唯一索引有什么问题?
?你说得对!我没有注意到,在一些地址字段中,我有空字符串,而不是空值。如果记录上有一个address NOT null,那就足够了吗?