ВСТАВИТЬ, ЕСЛИ НЕ СУЩЕСТВУЕТ, типа функции для меня, чтобы использовать без превращения столбца в первичный ключ? - PullRequest
1 голос
/ 28 октября 2009

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

Кажется, есть три способа сделать это. ИГНОР, ЗАМЕНА, НА ДУБЛИРОВАНИИ КЛЮЧЕВОГО ОБНОВЛЕНИЯ Я пробовал IGNORE и REPLACE, но они все равно заканчивают тем, что создавали новую запись. Я думаю, это потому, что этот столбец должен быть первичным ключом. Я знаю, что ON DUPLICATE KEY UPDATE требует, чтобы этот столбец был первичным ключом. Есть ли способ сделать это без первичного ключа столбца?

1 Ответ

2 голосов
/ 28 октября 2009

Вы можете использовать «ON DUPLICATE KEY UPDATE» для любого столбца с уникальным индексом, а не только для столбца первичного ключа.

...