如何拒绝MySQL中无效的插入操作?

如何拒绝MySQL中无效的插入操作?,mysql,sql,jdbc,triggers,insert,Mysql,Sql,Jdbc,Triggers,Insert,我有一个名为Score的表。分数是指“活跃”学生的“分数”。因此,还有一个名为Student的表,它有一个Activation列(布尔值)来确定学生是否处于活动状态 现在,在将分数插入分数表时,我需要检查学生是否处于活动状态,如果处于非活动状态,则不接受插入,否则接受插入 我试图通过在Score中创建Trigger来实现这一点,但它似乎不是解决方案,因为triggers似乎无法做到这一点。我使用的是JDBC,因此我可以通过在insert语句之前运行一个查询来非常容易地确定学生是否处于活动状态,但

我有一个名为
Score
的表。分数是指“活跃”学生的“分数”。因此,还有一个名为
Student
的表,它有一个
Activation
列(布尔值)来确定学生是否处于活动状态

现在,在将分数插入
分数
表时,我需要检查学生是否处于活动状态,如果处于非活动状态,则不接受
插入
,否则接受
插入

我试图通过在
Score
中创建
Trigger
来实现这一点,但它似乎不是解决方案,因为triggers似乎无法做到这一点。我使用的是JDBC,因此我可以通过在
insert
语句之前运行一个查询来非常容易地确定学生是否处于活动状态,但我认为我也必须将这个规则添加到数据库中,因此没有人可以在java程序之外直接使用DB将非活动学生的分数添加到DB中

或者,仅仅在Java程序中验证这一点就足够了


有什么想法吗?

@Sniper,在前端写一个条件

1.编写一个
查询
,检查学生是否处于活动状态
2.如果是这样,请插入
内容

3.否则什么也不做。

我知道我可以用Java程序轻松地完成。我也很想把这个应用到数据库中。为什么你需要先检查一下?@草莓:想象一下,有人不使用这个应用程序就要在数据库中插入一些东西。也许用户的数据输入人员会胡闹,直接使用PHPMyAdmin之类的工具应用一些数据。然后,由于程序不存在,这些值将被带到数据库中,无论它们是对的还是错的。或者是我对这件事太担心了?但是你可以通过加入来做到这一点!?!?!插入到m(x,y,z)中,从j中选择'a','b','c',在某物=某物上加入k,其中另一物='active'@草莓:正如我前面提到的,我不是在寻找我必须在客户端程序中执行的解决方案。