微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

INT PRIMARY KEY和INTEGER主键之间的区别SQLite

在定义表的模式时,INT PRIMARY KEY和INTEGER PRIMARY KEY之间是否有区别?
当使用int主键时,我生成sqlite_autoindex事件;
当整数主键,我得到sqlite_sequence表生成.
有什么不同?什么副作用可以有第一和第二种变体?
全部解释 in the SQLite documentation

2.0 The INTEGER PRIMARY KEY

One exception to the typelessness of sqlite is a column whose type is INTEGER PRIMARY KEY. (And you must use “INTEGER” not “INT”. A column of type INT PRIMARY KEY is typeless just like any other.) INTEGER PRIMARY KEY columns must contain a 32-bit signed integer. Any attempt to insert non-integer data will result in an error.

INTEGER PRIMARY KEY columns can be used to implement the equivalent of AUTOINCREMENT. If you try to insert a NULL into an INTEGER PRIMARY KEY column,the column will actually be filled with an integer that is one greater than the largest key already in the table. Or if the largest key is 2147483647,then the column will be filled with a random integer. Either way,the INTEGER PRIMARY KEY column will be assigned a unique integer. You can retrieve this integer using the sqlite_last_insert_rowid() API function or using the last_insert_rowid() sql function in a subsequent SELECT statement.

原文地址:https://www.jb51.cc/sqlite/197831.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐