根据SQL标准,PRIMARYKEY应该总是隐含NOTNULL。不幸的是,由于某些早期版本的错误,SQLite中并不是这种情况。
ONCONFLICT子句适用于UNIQUE,NOTNULL,CHECK和PRIMARYKEY约束。ONCONFLICT算法不适用于FOREIGNKEY约束。
如果指定了NOTNULL约束,那么该列必须具有非NULL的默认值。 如果启用了外键约束并添加了带有REFERENCES子句的列,则该列必须具有NULL的默认值。
NOTNULL在WITHOUTROWID表中的PRIMARYKEY的每一列上执行。这符合SQL标准。PRIMARYKEY的每列应该是单独的NOTNULL。

扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2026 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059
粤公网安备44030502008569号
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号
