首页 > 解决方案 > 如何在尚未使用 id 的情况下插入带有 id 的行?

问题描述

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

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

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

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

假设某个应用程序想要注册一个客户。新客户需要一个表中尚不存在的 id。

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

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

标签: sqlsqlitesql-insert

解决方案


使用integer primary key autoincrementas 类型解决customerId

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

推荐阅读