如何解决尝试插入空表时,phpmyadmin中出现错误“#1062-键'PRIMARY'的重复条目'”
我在phpmyadmin的同一数据库中有2个表。表'csv'是我导入数据以对其进行清理和格式化的位置。 “客户端”是连接到我的表单UI的表/后端。我试图从“ csv”插入选定的列到“客户端”。我检查了它们是否均为MyISAM格式。而且我不包括任何PK列。 “客户”表有一个由我的前端代码生成的PK列。但是我清除了该表中的所有测试数据,所以不能有任何重复。
这是我正在使用的sql:
const [tagInvoiceNo,setTagInvoiceNo] = useState('')
const [tagTotal,setTagTotal] = useState('')
useEffect(() => {
const cartTotal = document.querySelector('#cartTotal') !== null ? document.querySelector('#cartTotal').textContent.replace('£','') : ''
const cartInvoiceNo = document.querySelector('#invoiceNo') !== null ? document.querySelector('#invoiceNo').textContent : ''
if ((cartTotal &&!cartTotal.includes('}}')) && (cartInvoiceNo && !cartInvoiceNo.includes('}}'))) {
setTagTotal(cartTotal)
setTagInvoiceNo(cartInvoiceNo)
}
},[])
非常感谢您的帮助。
解决方法
事实证明,我需要更新而不是插入。 Duplicate键消息是因为在插入时,它尝试在现有的最后一行之后添加行。所有这些都具有NULL pk值,因此是重复的。因此,要将行添加到现有行集中,请使用UPDATE:
UPDATE table2
JOIN table1 ON
table2。first_name
= table1。table1First
AND table2。street_address
= table1。table1Address
AND table2。cell
= table1。table1Phone
SET day
= table1day
在1处
尝试INSERT IGNORE INTO
在此处https://www.tutorialspoint.com/mysql/mysql-handling-duplicates.htm#:~:text=Use%20the%20INSERT%20IGNORE%20command,silently%20without%20generating%20an%20error阅读更多相关信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。