Как удалить несколько строк с 2 столбцами в качестве составного первичного ключа в MySQL?
Моя таблица innodb имеет следующую структуру: 4 столбца (CountryID, Year, %Change, Source)
с 2 колонками (CountryID, Year)
в качестве первичного ключа. Как удалить несколько строк, кроме использования цикла for для удаления каждой строки?
Я ищу что-то похожее на
DELETE FROM CPI
WHERE CountryID AND Year IN (('AD', 2010), ('AF', 2009), ('AG', 1992))
Нашел ответ после дальнейших настроек:
DELETE FROM CPI
WHERE (CountryID, Year) IN (('AD', 2010), ('AF', 2009), ('AG', 1992))
Надеюсь, что это поможет кому-то там в том же рассоле.
1 ответ
Решение
Ответ в Oracle:
delete from cpi
where (countryid, year) in (('AD', 2010), ('AF', 2009), ('AG', 1992))
Это довольно стандартный синтаксис SQL, и я думаю, что MySQL такой же.