Задавайте вопросы, мы ответим
Вы не зашли.
Люди добрые, всем привет
Уже совсем сломал голову и не знаю что и думать....
База MariaDB 10.2.13
Есть табла:
CREATE TABLE `goods_exemplars` (
`id` INTEGER(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`nomenclature_id` INTEGER(10) UNSIGNED NOT NULL,
`warehouse_id` INTEGER(10) UNSIGNED NOT NULL DEFAULT 1,
`is_sold` TINYINT(1) DEFAULT 0,
`sold_dt` DATE DEFAULT NULL,
`is_reserved` TINYINT(1) DEFAULT 0,
`is_defected` TINYINT(1) DEFAULT 0,
`create_dt` TIMESTAMP NOT NULL DEFAULT current_timestamp(),
PRIMARY KEY USING BTREE (`id`)
) ENGINE=InnoDB
AUTO_INCREMENT=42333 AVG_ROW_LENGTH=829 ROW_FORMAT=DYNAMIC CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'
;
В процессе работы экземпляру с id 42153 были проставлены такие значения: warehouse_id = 6 и is_reserved = 1
Далее понадобилось изменить значения на warehouse_id = 1 и is_reserved = 0 - ну типа update goods_exemplars set warehouse_id = 1, is_reserved = 0 where id = 42153
Но не тут то было.
База всячески сопротивляется. Данные изменяются только ручным запросом из консоли или из SQL manager.
Любая попытка изменить данные из PHP или из хранимой процедуры приводит к тому, что становится warehouse_id = 6 и is_reserved = 1
Если сделать дубликат таблы то в нем все работает. Если удалить оригинал и переименовать дубликат, то работать перестает.
Пока что баг замечен только с id 42153.
Перезапускал апач с пхп, базу, сервер. Что еще?
Неактивен
вероятно проблема в PHP / хранимой процедуре
попробуйте через лог запросов посмотреть какие запросы приходят к mysql
Неактивен