asp.net - Create new sql entry with one value being MAX(Column)+1 给出 Invalid use of group function

标签 asp.net mysql sql

我想在执行 MAX + 1 的地方手动创建一个 ID 字段,并且我想在一个查询中执行此操作,因此我确定 2 个条目无法获得相同的字段。

        using (MySqlConnection dbConn = new MySqlConnection(ConfigurationManager.ConnectionStrings["ProjektConStr"].ConnectionString))
    {
        dbConn.Open();
        using (MySqlCommand cmd = new MySqlCommand("INSERT INTO Submission (CaseId , SubjectId, CenterId, EmployeeName, Reason, Description, Explanation, Date, Done, ChiefLevel) VALUES (MAX(CaseId)+1, @subject_id, @center_id, @employee_name, @reason, @description, @explanation, @date, @done, @chief)", dbConn))
        {
            cmd.Parameters.AddWithValue("date", submission.Date);
            cmd.Parameters.AddWithValue("subject_id", submission.SubjectId);
            cmd.Parameters.AddWithValue("center_id", submission.CenterId);
            cmd.Parameters.AddWithValue("employee_name", submission.EmployeeName);
            cmd.Parameters.AddWithValue("reason", submission.Reason);
            cmd.Parameters.AddWithValue("description", submission.Description);
            cmd.Parameters.AddWithValue("explanation", submission.Explanation);
            cmd.Parameters.AddWithValue("done", false);
            cmd.Parameters.AddWithValue("chief", false);
            cmd.ExecuteNonQuery();
        } 
    }

最佳答案

          Use subquery to select max and insert a value 

INSERT INTO Submission (CaseId, SubjectId, CenterId, EmployeeName, Reason, Description, Explanation, Date, Done, ChiefLevel) 值 (

          (1 + coalesce((SELECT max(CaseId) FROM Submission), 0))

, @subject_id, @center_id, @employee_name, @reason, @description, @explanation, @date, @done, @chief)

关于asp.net - Create new sql entry with one value being MAX(Column)+1 给出 Invalid use of group function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11138409/

相关文章:

sql - 在 Power BI 中使用 DAX 进行左外连接(多对多关系)

c# - asp.net c# 文本框 onclick 如果默认文本为空。如果不是默认文本则保持不变

c# - 带有可选小时数的 TimeSpan FormatString

mysql - Spring data JPA中将java bean的List<Long>转换为mysql的json

MySQL 使用 JOIN 和报告

Mysql - 更新时间戳 from_unixtime 删除该行

mysql - 如何从表列中删除空值?

javascript - 在asp.net中单击复选框时显示弹出警告消息

c# - httpRuntime 元素的 System.web 设置

Sql从逗号分隔的字符串中删除重复项