Nano Hash - криптовалюты, майнинг, программирование

запрос pdo при дублирующем обновлении, затем две ошибки удаления

Попытка сделать SQL-запрос при дублировании обновления и удаления из двух таблиц.

  1. Это работает, но только первый Удалить из нет, второй игнорируется.

    $sqlSalesOrderUpdate = $handler->prepare("
    INSERT INTO tv_sales_orders (sales_order_id, order_number) 
    VALUES (:sales_order_id, :order_number)
    ON DUPLICATE KEY 
    UPDATE sales_order_id=:sales_order_id;
    DELETE FROM `tv_sales_orders_lines` WHERE sales_order_id=:sales_order_id;
    DELETE FROM `tv_sales_orders_packing_list_lines` WHERE 
    tv_sales_order=:sales_order_id;
                                    ") ;
    
  2. #P3# <блочная цитата> #P4#
    $sqlSalesOrderUpdate = $handler->prepare("
    INSERT INTO tv_sales_orders (sales_order_id, order_number) 
    VALUES (:sales_order_id, :order_number)
    ON DUPLICATE KEY 
    UPDATE sales_order_id=:sales_order_id;
    DELETE FROM `tv_sales_orders_lines` WHERE sales_order_id=:sales_order_id;
    DELETE a.*, b.* 
    FROM tv_sales_orders_lines as a, tv_sales_orders_packing_list_lines as b 
    WHERE a.sales_order_id =:sales_orders_id and b.tv_sales_order_id=:sales_orders_id ;
    
01.07.2018

  • Обычно вы не можете использовать несколько заполнителей :sales_order_id в одном запросе. См. также: stackoverflow.com/questions/42244086/ 01.07.2018
  • Как это обойти? 01.07.2018
  • Вы прочитали вопрос в ссылке, которую я дал? Это говорит вам. 01.07.2018
  • Спасибо, я вижу, мне нужно добавить PDO::ATTR_EMULATE_PREPARES ON? а я не понимаю где? здесь? $handler-›setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 01.07.2018
  • Я бы не стал этого делать. Лучшее решение очевидно: используйте разные заполнители: :sales_order_id1, :sales_order_id2, :sales_order_id3 и т. д. 01.07.2018

Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..