Сообщение от Elfix
|
замечание об id хотя и является по вашему мнению глупостью, к сути вопроса и к не учебной программе отношения не имеет
|
Ну что же, давайте и это рассмотрим.
Не известно откуда эти данные, но явно, если бы мы в сценарии сначала сами же прописали их, а затем подставляли бы их в запрос, то это было бы вообще несусветной глупостью, так ведь? Следовательно эти данные откуда либо приходят. И тут возникает вопрос - откуда? Если это данные извне, то есть пришли на сервер от клиента, то мало заключить строковые значения в кавычки, обязательно перед этим произвести их экранирование средствами SQL. В противном случае запрос будет подвержен sql инъекции.
Второе. Вот что вы делаете - SET id =1 для WHERE id =${obj.id}. То есть, вы не знаете реальное id записи, которую будет обновлять и при этом принудительно меняете ее id. Это по вашему мелочи?
Если данные извне и вы эти данные помещаете в базу, то данные нужно проверять на соответствие типов, в противном случае в базе будет либо мусор, либо (при умной архитектуре таблиц) запрос вернет ошибку. Уникальные идентификаторы полученные средствами SQL не могут иметь значений равных 0, то есть приведение id к числу не только обезопасит запрос при вставке а него значения, но и позволит не делать пустой запрос, если id фикция.
Вот и думайте теперь, есть ли "мелочи" при работе с базами данных.