0

我有一个 mysql 数据库表。表名是 Question ,我在该表下有一个列名 questionNo 。我有一个由创建按钮和一些文本框组成的网络表单,所以每次我单击创建按钮时,它都会在数据库中创建问题编号 1、2 等等...但是如果我刷新页面并再次创建,它仍将从 1 开始。我如何从 tablename Question 下的 questionNo 列中检查数据库,是否已经存在问题 1、2 或 3 等等。所以我在单击创建按钮后创建的下一个问题将是 questionNo 列的 +1。对不起,我的英语不好 。我是实体框架的新手,如何使用实体来做到这一点?

例如 3 行带有 questionNo 1 的记录 .. 然后当我再次创建时,我可能有 2 行带有 questionNo 2 的记录,依此类推。现在的问题是,在我刷新页面后,我将再次插入多行带有 questionNo 1 的记录

4

1 回答 1

1

您可以为问题表创建自动增量主键,如下所示

CREATE TABLE Question 
(
QuestionNo int NOT NULL AUTO_INCREMENT,
  // other fields 
PRIMARY KEY (QuestionNo)
)

MySql 会在你插入新记录时做增量,你不需要通过代码来处理它


使用实体框架

如果要获取 QuestionNo 的当前最大值

int maxQNo= context.Question.Max(q => q.QuestionNo);

检查是否newQNo已添加,如下所示

bool alreadyAdded= context.Question.Any(q => q.QuestionNo == newQNo);
于 2013-05-30T02:58:27.567 回答