2014-02-11 2 views
0

Я пытаюсь написать оператор mysql, который загружается в таблицу без использования первичного ключа.Упрощение без использования на дубликат ключа MYSQL

Я знаю о дублирующей ключевой команде, но я не могу использовать ее здесь, так как я проверяю уникальность двух столбцов, которые не являются первичными ключами. Я знаю, что было бы лучше просто сделать эти два основных ключа, но я не могу, так как это была схема, которая была дана.

Схема выглядит следующим образом:

tbl_order_detail

  • key_order_detail
  • key_order
  • key_product
  • some_other_keys

Если пара ключей key_product уникальна, я делаю обычную вставку. Если они не уникальны, я обновляю строку.

Любые предложения?

ответ

1

ON DUPLICATE KEY UPDATE работает не только с первичными ключами, но и с любыми уникальными ограничениями.

Так что просто создайте уникальный уникальный индекс для столбцов (key_order, key_product) и используйте его.

+0

Nice catch. Чтение - это технология. Я полностью пропустил, что вы можете это сделать. Благодаря! – Akolopez

Смежные вопросы