首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在php中进行限制?

如何在php中进行限制?
EN

Stack Overflow用户
提问于 2012-10-12 21:44:46
回答 2查看 148关注 0票数 0

我有一个迷你的注册系统。

有教授表、科目表、学生表、年级表和有学生的科目表。

现在,当你添加一个教授时,你输入的是教授ID.。但是还有一个profNO。profNo是主键。由于您可以向该教授添加更多科目,因此profNo将递增,但ID保持不变。

问题:现在,我想设置一个限制,当一个人想要添加一个教授时,如果他输入一个已经存在的教授ID,将会出现一个错误,说“教授ID已经存在”,但教授ID不是唯一的。

现在,看看这张照片。具有不同profNo的相同教授ID。这是因为他们的主题。向教授添加科目时,教授ID会重复。但是当你添加一个教授时,有没有可能当你输入一个现有的ID时,就会出现一个错误呢?sample http://sphotos-e.ak.fbcdn.net/hphotos-ak-ash3/578472_162759700529875_718824031_n.jpg

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-12 22:42:52

是的,你可以按你的要求去做。只需在插入新教授之前添加一个简单的检查即可。

提交新教授时的伪代码:

代码语言:javascript
运行
复制
if profID already exists (using a simple SQL query to check)
    allow the insert and continue
else
    don't insert, show a message to the user "That professor ID already exists"
endif

然而,当一个教授有多个科目时,如果你一遍又一遍地重复教授的详细信息,这似乎不是一个非常符合逻辑的系统。

考虑以下DB结构:

表: professors

字段:idfirstnamelastnamegender

表: subjects

字段:idprofessoridsubjectnamesubjectcode

这样,您只需在professors中为每个教授维护一条记录,并为subjects表维护相同的记录。当您插入新科目时,您将填充链接回professors表的教授ID,而无需复制数据。

这将是一个简单的结构,使您的数据库更有效率,现在根据您的系统需要的复杂程度,您可能需要进一步规范化它。例如,如果一个科目可以有多个教授,那么您不应该在subject表中包括教授ID,而应该有一个包含字段professoridsubjectid的新表professor_subject_association,在该表中,您可以将多个教授链接到科目。

票数 1
EN

Stack Overflow用户

发布于 2012-10-12 21:47:01

使您的ID列具有一个惟一索引。在MySQL手册上阅读这些内容:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12860446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档