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

标签 mysql sql jdbc triggers insert

我有一个名为Score的表格。分数是指“活跃”学生的“分数”。因此,还有另一个名为 Student 的表,它有一个 Activation 列( bool 值),用于查明学生是否活跃。

现在,当将分数插入Score表时,我需要检查学生是否活跃,如果不活跃则不接受插入否则接受插入

我尝试通过在 Score 中创建一个 Trigger 来做到这一点,但似乎这不是解决方案,因为触发器似乎无法做到这一点。我正在使用 JDBC,因此我可以通过在 insert 语句之前运行查询来轻松找出学生是否处于事件状态,但我认为我也必须将此规则添加到数据库中,所以即使在 java 程序之外直接使用数据库,也没有人可以将不活跃学生的分数添加到数据库中。

否则,只需在 Java 程序中验证这一点就足够了?

有什么想法吗?

最佳答案

@Sniper,在你的前端写一个条件

1.编写查询来检查学生是否活跃
2.如果是这样,请插入插入内容
3.否则什么也不做。

关于mysql - MySQL中如何拒绝无效的插入操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27200934/

相关文章:

sql - 合并具有公共(public)字段的同一表的两行

sql - MySQL:按 LIKE 连接两个表

sql - 选择具有不重复的指定字段的行 (Transact-SQL)

Java PreparedStatement 将 IN 参数设置为 int 数组

java - JDBC 类路径问题

mysql - 正确选择 UUID 作为主键的数据类型

MYSQL View 支持子查询

c# - 将图像插入 mysql 数据库时出现问题

c# - 表被指定了两次,既作为 'UPDATE' 的目标,又作为单独的数据源

java - 如何获取 JDBC 连接 url 字符串