Ох уж эта современная толерантность. :) Во что будете переименовывать? В primary?
А вдруг найдутся социальные группы которые будут этим жестоко обижены? Вот для них праймери будет как тряпка для быка. Лучше всего брать числа. Например число "0" еще пока не успело никого обидеть. :)
От реверс-инжинеринга баша реально болит голова. Мне кажется что если переписать его на Python или Go - то было-бы как-то веселее. Автор а расскажи что он вообще делает. То что перименовывает - это понятно. Но почему так хитрО?
В школе на уроках информатики у нас были какие-то ПК семейства толи Корвет толи БК я уже не помню. И там на клавиатуре всместо $ был странный символ который мы называли "блоха".
Автор как всегда не указал тип DBMS который на самом деле используется. Дело в том что оператор UPSERT (update + insert) имеет разные реализации в разных коммерческих системах. По синтаксису разные. Поэтому обсуждать в обобщенном SQL это безсмысленно. Но если-бы это был Oracle то я-бы предложил использовать MERGE https://docs.oracle.com/database/121/SQLRF/stateme... а для Postgres там другая форма синтаксиса.
Отвечая на вопрос перепишет или добавит - зависит от опции ON CONFLICT или ON MATCHED и от функций которы будут указаны в кейсах.
А вдруг найдутся социальные группы которые будут этим жестоко обижены? Вот для них праймери будет как тряпка для быка. Лучше всего брать числа. Например число "0" еще пока не успело никого обидеть. :)
Не благодарите.