|  | 
| 
update or insert в триггере вызывает PRIMARY KEY VIOLATION | |||
|---|---|---|---|
| #18+ Уже 2 дня бьюсь, не могу победить. Конечно, можно обойти другим способом это сделать, но хотелось бы разобраться. Итак, есть условно 2 таблицы - одна - журнал движения товара, вторая - журнал остатков. При добавлении записи в журнал движения триггер меняет таблицу остатков. Ошибка возникает на следующем операторе в триггере AFTER INSERT. Первичный ключ по полям ACAID, AART, AUID, ADATE Код: sql 1. 2. 3. с последней строкой (матчинг или нет), бьет нарушение PRIMARY KEY VIOLATION, вставку отрабатывает нормально, а вот обновление - ошибка. Первичный ключ верен, все поля верны, уже для надежности вручную MATCHING прописал - все равно ошибка. Тот же оператор, запущенный сам по себе Код: sql 1. 2. 3. с теми же параметрами все хорошо модифицирует. Уже подозреваю на особое поведение триггера AFTER INSERT или невыявленный глюк ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 15.07.2019, 00:28 |  | ||
| 
update or insert в триггере вызывает PRIMARY KEY VIOLATION | |||
|---|---|---|---|
| #18+ Не, тут что-то еще интереснее, буду разбираться дальше, вроде как триггер ни при чем, хотя ошибку из него бьет ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 15.07.2019, 00:48 |  | ||
| 
update or insert в триггере вызывает PRIMARY KEY VIOLATION | |||
|---|---|---|---|
| #18+ Сам создал, сам и решил, видно, полезно отвлекаться. Проблема оказалась в том, что первичный ключ содержит дату как DATE, я же передавал значение поля , имеющего тип TIMESTAMP. Полагая, что оператор вставки при сохранении значения сам преобразует TIMESTAMP в DATE, выбивало ошибку. Явно приведя тип TIMESTAMP к DATE - все стало нормально работать. Какой-то глючок ФБ походу. Вот что решило проблему, хотя должно само было преобразовать. Код: sql 1. 2. 3. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 15.07.2019, 00:55 |  | ||
|  | 

| start [/forum/topic.php?fid=40&gotonew=1&tid=1560662]: | 0ms | 
| get settings: | 11ms | 
| get forum list: | 14ms | 
| check forum access: | 4ms | 
| check topic access: | 4ms | 
| track hit: | 52ms | 
| get topic data: | 10ms | 
| get first new msg: | 7ms | 
| get forum data: | 3ms | 
| get page messages: | 39ms | 
| get tp. blocked users: | 1ms | 
| others: | 13ms | 
| total: | 158ms | 

| 0 / 0 | 
