我是编程新手。我的问题是,如果你的主键不是唯一的(我当时理解它不再是主键)那么返回的是什么?是否返回了多条记录?
EmployeeID HoursWorked
01 100
01 120
02 75
02 115
03 140
03 80
例如,如果您编写查询以搜索员工ID 01
,那么会返回什么内容?
同样,我对所有这一切都很陌生,请原谅我,如果这是一个愚蠢的问题。
答案 0 :(得分:2)
如果您执行类似
的操作SELECT * FROM employees WHERE EmployeeID = 01;
您将获得两行:
EmployeeID HoursWorked
01 100
01 120
但通常情况下 - 如果您将列设置为主键 - MySQL 将不允许您插入没有唯一ID的行。
答案 1 :(得分:0)
如果您不使用primary key
,那么重复的ID记录可以是inserted
因此,如果您获得01
,则会返回01
100 and 120
个ID的所有记录
答案 2 :(得分:0)
主要的要点是防止您插入具有相同主键或任何唯一索引的两个记录(行)。你不可能得到一个错误。
因此,如果您设置了主键,那么如果您准确指定了所需的值,则select查询将不返回任何内容或返回一行。如果您尝试使用已存在的密钥插入新记录,则会出现错误。
您将使用唯一键
具有相同的行为