gpt4 book ai didi

php - MySQL 重复输入键 'PRIMARY' 但有点奇怪

转载 作者:行者123 更新时间:2023-11-29 07:06:04 25 4
gpt4 key购买 nike

我遇到了一个常见问题。我查遍了谷歌,但我的问题有点奇怪。

我有一个表,我使用这些主键:

ALTER TABLE `companies`
ADD PRIMARY KEY(
`name_employee`,
`email`);

因此主键是 name_employeeemail 的组合。

示例的问题(我只给出主键的插入,因为其他不是主键并且按预期工作):

首次插入成功:

name_employee = 'Pavlos Pavlos'
email = 'company_Name@gmail.com'

第二次插入成功:

name_employee = 'John John'
email = 'company_Name@gmail.com'

第三次插入错误:

name_employee = 'Nick Nick'
email = 'company_Name@gmail.com'

弹出错误:

Error: INSERT INTO companies (name, account_number, dateExp, credit_limit, amount_debt, balance, name_employee, id_employee, email, password) SELECT name, account_number, dateExp, credit_limit, amount_debt, balance, 'Nick Nick', '250', 'company_Name@gmail.com', 'pass' FROM companies WHERE email='company_Name@gmail.com' Duplicate entry 'Nick Nick-company_Name@gmail.com' for key 'PRIMARY'

但是没有另一行包含 name_employee = Nick Nickemail = company_Name@gmail.com

真正奇怪的是,它允许我使用相同的电子邮件但不同的name_employee进行第二次插入,但它不允许我这样做第三个插入也是如此。

请问有什么帮助吗?

编辑:这是一项作业,我无法添加更多键/主键等。另外,我需要在同一家公司下有很多员工,我们可以假设每个员工的 name_employee 都是不同的,这就是我使用这些主键的原因。

最佳答案

此查询

SELECT 
name, account_number, dateExp, credit_limit, amount_debt, balance,
'Nick Nick', '250', 'company_Name@gmail.com', 'pass'
FROM companies
WHERE email='company_Name@gmail.com'

从表companies中选择行,其中email等于'company_Name@gmail.com'。这对于两行('Pavlos Pavlos''John John')来说是正确的。因此,您尝试插入 'Nick Nick' 两次。因此出现错误。

.

关于php - MySQL 重复输入键 'PRIMARY' 但有点奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41600655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com