MySQL: Bir satır güncellenmesi ve durumda orijinali silme bir yinelenen olur

0 Cevap php

Ben basit bir table iki sütun oluşur: col_A ve col_B.

The primary key is defined over both.

Ben bazı satırları güncelleştirmek ve örneğin, çiftleri oluşturabilir col_A değerleri atamanız gerekir:

UPDATE `table` SET `col_A` = 66 WHERE `col_A` = 70

Bu ifade bazen yinelenen anahtar hata verir.

Sonra hata oluşturmak satırlar değişmeden kalacağını, çünkü basitçe UPDATE IGNORE ile hatayı göz ardı etmek istemiyorum. Bunun yerine, I want them to be deleted when they would conflict with another row after they have been updated

Ben böyle bir şey yazmak istiyorum:

UPDATE `table` SET `col_A` = 66 WHERE `col_A` = 70 ON DUPLICATE KEY REPLACE

which unfortunately isn't legal in SQL, so I need help finding another way around. Also, I'm using PHP and could consider a hybrid solution (i.e. part query part php code), but keep in mind that I have to perform this updating operation many millions of times.

İlginiz için teşekkürler,

Silvio

Hatırlatma: UPDATE 'ın sözdizimi güncellenmektedir aynı tablo ile birleştiği ile sorunları var

EDIT: Üzgünüm, WHERE yan tümcesinde sütun adı yanlış oldu, şimdi ben düzelttim

0 Cevap