gpt4 book ai didi

java - 如何根据 1 Select 语句的结果有条件地发生 Mysql insert 语句

转载 作者:行者123 更新时间:2023-11-28 23:38:24 25 4
gpt4 key购买 nike

考虑一下我的 Ajax 调用是什么样的(在我解释问题的代码下方):

 $.ajax({
type : "GET",
url : "servlet",
data: {course_name_param:selectedOption},
dataType:"json",
success : function(data) {
$('#startDate').empty();
$('#startDate').append('<option value="">Select Start Date</option>');
$.each(data, function(index, jsonData) {

/*Here below is where I check availability*/
if(jsonData.students_registered < jsonData.max_size){

/*Display available courses*/
}
}

我有一个 MySQL 表,其中包含可用于教育类(class)的类(class)信息。其中 1 个字段是可用插槽(最大容量)。

注册是插入语句。我需要通过检查插入时实际可用的插槽来控制这一点。

目前,我使用对该表的 Ajax 调用执行检查。当多个用户加载页面的时间相对接近(不到一分钟)时,检查是无用的。

问题:

  • 如何远离前端完成此操作?

  • 这是否应该包含在包含我的逻辑的类中?插入语句?

    我没有看到在 SO 问题中考虑这种情况,只是在避免重复条目的情况下,这不是我的情况。

    如有任何建议,我们将不胜感激。

最佳答案

您可以简单地构建您的查询,这样您就可以仅撤回具有空位的类(class)。像这样的东西可能会给你一个想法:

SELECT   courses.title
FROM courses
WHERE students_registered < max_size

如果要确保对数据库的验证,可以使用条件插入:

INSERT INTO enrollments(course_id, student_id)  
SELECT <your course id>, <your student id> FROM dual
WHERE EXISTS (
SELECT * FROM courses
WHERE id = <your course id>
AND students_registered < max_size
)

关于java - 如何根据 1 Select 语句的结果有条件地发生 Mysql insert 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35137814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com