0

我有一个数据库表'stu_inf'o,列'stu_id(主键)','name(varchar)''grade_id(外键)'和'age(int)'。

Grade_level 表具有以下列grade_level_id(主键)和grade_level(varchar)。

我已经为所有学生分配了一个grade_id。在年底,grade_level 将不得不更改为下一个grade_id。例如,所有 1 都必须更改为 2,所有 2 都必须更改为 3,依此类推。

在数据库中手动更改这些将非常耗时并且容易出现错误,例如grade_id 跳过和根本不移动一些学生。

如何使用 php 和 mysql 自动实现这一点。

4

2 回答 2

1

更新 stu_int SETgrade_id =grade_id + 1 WHEREgrade_id < x

(x 是您的最高grade_level_id),这将允许您更新表,即使学生已达到最高年级而不会导致外键违规。您也可以只删除已达到最高年级的学生:

更新 stu_info SETgrade_id =grade_id + 1

从 stu_int 中删除 Grade_id = x

于 2013-10-26T12:54:42.967 回答
0

这将帮助你cron 工作

每年安排一次或根据需要安排

于 2013-10-26T12:13:50.613 回答