ошибка oraexec:ORA-00001: обновление с нарушением уникального ограничения

#sql #oracle

Вопрос:

Я получаю эту ошибку каждый раз, когда пытаюсь выполнить приведенный ниже запрос в своем скрипте Python:

ошибка oraexec:ORA-00001: нарушено уникальное ограничение.

SQL-код:

 UPDATE orders_table 
SET ORDER_START = CURRENT_TIMESTAMP 
WHERE ORDERNUMBER = '14295221' 
 

Я знаю, что ошибка, которую я получаю, означает, что существуют повторяющиеся значения, однако, когда я выполняю этот запрос ниже:

 SELECT * 
FROM orders_table 
WHERE ORDERNUMBER = '14295221' 
 

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

Комментарии:

1. Какие-нибудь задействованные триггеры?

2. можете ли вы показать, как ваш код python обновляет столбец ?

3. У вас может быть несколько ограничений, а не только primary key ограничение. Возможно order_start , связано с unique ограничением, и в этом проблема. Как отмечалось выше, триггер, если он существует, может также означать, что задействованы ограничения из других таблиц.

4. Ты меняешься ORDER_START . Это приводит к нарушению ограничений.

5. Но я смог изменить ORDER_START в разработчике SQL, поэтому разве он не должен работать в моем сценарии?