gpt4 book ai didi

mysql唯一索引EXCEPT为空或null

转载 作者:可可西里 更新时间:2023-11-01 06:47:05 25 4
gpt4 key购买 nike

我有一个带有 ISBN 的 MySQL MyISAM 表。我想创建一个 UNIQUE 索引,如果值为空或 null,它不会抛出“重复”错误。

这可能吗?

最佳答案

由于您使用的是 MyISAM(或 INNODB)存储引擎,简短的回答是否定的。多个空字符串不适用于唯一索引约束,即使多个空字符串也适用。如果您想要一个仅使用 SQL 的解决方案,最好的办法是在 ISBN 字段上创建一个常规索引,然后使用一个存储过程作为插入代理——如果不为 null 或为空,则检查唯一性。

如果只有 null 适合您,这里是一个基本的创建:

CREATE TABLE `books` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`isbn` int(13) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `isbn` (`isbn`)
)

请注意...请记住,为 int 指定的“13”只是它在查询中返回时显示的位数,而不是整数的大小。

关于mysql唯一索引EXCEPT为空或null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11303568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com