考研 408 × 求职面试
知识点 · 数据库系统 · 基础
每日一题 · 数据库系统
解析
面试小贴士 · 数据库系统
代码实现 · C
#include <stdio.h>
typedef struct { int id; char name[20]; } Student; // 关系模式:学号、姓名
int insert(Student r[], int *n, Student s) {
if (s.id <= 0) return -1; // 简化表示主键为空/非法
for (int i = 0; i < *n; i++)
if (r[i].id == s.id) return -2; // 主键必须唯一
r[(*n)++] = s;
return 0;
}
int main() {
Student r[10] = {{1001, "张三"}, {1002, "李四"}}; // 关系实例
int n = 2;
Student a = {1001, "王五"}, b = {0, "赵六"}, c = {1003, "钱七"};
printf("%d\n", insert(r, &n, a)); // -2:主键重复
printf("%d\n", insert(r, &n, b)); // -1:主键为空
printf("%d\n", insert(r, &n, c)); // 0:插入成功
return 0;
}