如何在尚未使用 ID 的情况下插入带有 ID 的行?

How can I insert a row with an id, where the id is not already taken?

所以我正在慢慢适应数据库table。

(示例)我有两个 tables,客户和采购。像这样创建:

create table Customers (customerId int, firstname varchar(255), surname varchar(255))

create table Purchases (customerId int, productName varchar(255))

假设某个应用程序想要注册一个客户。新客户需要一个在 table.

中尚不存在的 ID

如果我执行此查询:insert into Customers values (1, 'Mark', 'Zuckerberg'),可能已经存在具有此 ID 的不同客户。

应用程序如何获取 table 中不存在的 customerId 值?这个数据库的设计有什么缺陷吗?我应该使用其他方法将购买与客户联系起来吗?

使用 integer primary key autoincrement 作为 customerId 的类型解决了。

create table Customers (
    customerId integer primary key autoincrement,
    firstname varchar(255),
    surname varchar(255)
);