【问题标题】:SQL Database Help - MySQL WorkbenchSQL 数据库帮助 - MySQL 工作台
【发布时间】:2014-01-21 15:47:09
【问题描述】:

我有一张员工表,其中包含他们所有的关键数据; StaffID、姓名、地址等。还有一个缺勤表。缺勤表具有缺勤 ID、员工 ID、员工姓名和日期。 输入员工 ID 时,是否可以自动填写缺勤中的员工姓名字段。 那么数据库查找与该特定 ID 关联的员工姓名的方法是什么?

或者每当记录缺席时,我是否必须手动插入 ID 和姓名(这样做的问题是有人可能不小心输入了与 ID 不匹配的姓名)

感谢任何想法/帮助。 提前致谢。

【问题讨论】:

  • 您应该更好地理解关系数据库背后的概念。您尝试做的是复制数据,这会导致运营效率低下、错误、重复数据和一长串问题。检查您的数据库设计并实现 keysindexes。缺席者姓名应仅保留在一张表中,而不是在不同表中输入。您正在尝试做的是适合信息系统范围内的恐怖噩梦。
  • 我希望实现的是将这个数据库链接到我的 Java 代码,并且当调用 addAbsence() 方法时,用户只需添加员工的员工 ID缺席时,数据库会自动填写人员姓名和日期
  • ok,这样的话,只需在调用方法时填充字段,即提交条件为staffer id的查询,查询staffer name和其他数据,结果应该填充你的表单域。

标签: mysql sql field autofill workbench


【解决方案1】:

有多种方法可以做到这一点。

  1. Insert Trigger 添加新记录后,您希望转到其他表并获取可以插入到Absences 表中的名称。

  2. 修改您的应用程序以从 STAFF 表中查找数据并在插入期间添加该数据。

  3. 运行将从STAFF 获取名称的更新语句并将其放入Absences

这一切都取决于您希望如何实现它。您最好的选择是INSERT 触发器。阅读http://dev.mysql.com/doc/refman/5.0/en/triggers.html 了解如何在 MySQL 中使用触发器

【讨论】:

  • 谢谢,我是 MySQL 新手,所以虽然答案似乎很明显,但这对我很有帮助。
  • 阅读INSERT Trigger,这将是最好的方法,同时将帮助您学习 MySQL 的工作原理
猜你喜欢
  • 2021-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-01
  • 2014-04-18
  • 2022-07-04
  • 2010-11-11
  • 2017-12-06
相关资源
最近更新 更多