我有一个创建表、设置触发器[1] 和插入数据的 sql 脚本。在构建我的应用程序期间,通过 sqlite 命令行使用 sql 来创建数据库。基本上我有一个表,其行必须基于三个字段是唯一的。我想根据三个字段自动生成哈希或某种形式的唯一 ID,以用作主键。我的理解是 sqlite 没有内置的散列函数。是否有其他方法可以根据插入前触发器中三个字段的内容生成唯一键?
[1] This isn't happening yet as I don't know how to generate a unique key
桌子看起来像这样。我可以使用 3 个字段(firstName、lastName、birthYear)的主键,但是我必须在每个表中使用所有三个字段,我想在其中有一个外键。这 3 个字段是字符串,我想它会是更多的空间,会减慢速度。
create table (
firstName VARCHAR,
lastName VARCHAR,
birthYear CHAR(4)
... more fields ...
);