sql - 如何在尚未使用 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
表中不存在的值?这个数据库的设计有什么缺陷吗?我应该使用其他方法将购买与客户联系起来吗?
解决方案
使用integer primary key autoincrement
as 类型解决customerId
。
create table Customers (
customerId integer primary key autoincrement,
firstname varchar(255),
surname varchar(255)
);
推荐阅读
- php - 我收到一个 PHP 错误,阻止我插入数据
- android - 有没有办法永久保存在 Android 应用中创建的 uuid?
- arrays - Julia,@view 以防止生成新数组
- javascript - 为什么默认参数在 javascript 中的函数内部是不可变的?
- ios - 每次新单元出现时如何访问 UITableView.visibleCells
- python - Plotly:如何使用类似于在图例中单击它们的按钮来切换轨迹?
- python - 我应该在 django 上面实现 django rest 框架吗?
- python - KeyError: '[] not in index' when renaming pandas columns by index assignment
- javascript - 为什么 jQuery.ready 有删除线?
- javascript - 以编程方式更改 react-select 组件的值