ฉันมองหามาระยะหนึ่งแล้ว แต่ฉันไม่สามารถหาวิธีง่ายๆสำหรับปัญหาของฉันได้ ฉันต้องการทำซ้ำระเบียนในตาราง แต่แน่นอนว่าต้องอัปเดตคีย์หลักที่ไม่ซ้ำกัน
ฉันมีคำถามนี้:
INSERT INTO invoices
SELECT * FROM invoices AS iv WHERE iv.ID=XXXXX
ON DUPLICATE KEY UPDATE ID = (SELECT MAX(ID)+1 FROM invoices)
ปัญหาคือสิ่งนี้เพียงแค่เปลี่ยนID
แถวแทนที่จะคัดลอกแถว ไม่มีใครรู้วิธีแก้ไขปัญหานี้?
// แก้ไข: ฉันต้องการดำเนินการนี้โดยไม่ต้องพิมพ์ชื่อเขตข้อมูลทั้งหมดเนื่องจากชื่อเขตข้อมูลสามารถเปลี่ยนแปลงได้ตลอดเวลา