首页 > 解决方案 > 检查mysql中是否存在记录

问题描述

假设我有以下三个表。

Staff 

id | name
---------
1    Tom
2    Mary
Fulltime staff

id | name
---------
1    Tom
Parttime staff

id | name
---------
2    Mary 

有没有办法可以使用 SQL 像这样显示?还是应该在 Staff 表中再添加一列?

Mysql

id | name | Work nature
----------------------
1    Tom    Fulltime
2    Mary   Parttime

标签: mysql

解决方案


除非您希望人们在全职和兼职时使用​​不同的名字,否则不要重复人们的名字。

没有什么能阻止某人既全职又兼职。或者两者都不是。不是三张桌子,而是一张。

create table staff (
  id bigint primary key auto_increment,
  name varchar(255) not null,
  type enum('fulltime', 'parttime') not null
)

现在每个人只能是一种员工,名字不重复,你的选择是微不足道的。


推荐阅读