programing

5.5.52-MariaDB 대 5.6.15 mysql 트리거가 작동하지 않음

starjava 2023. 9. 24. 12:16
반응형

5.5.52-MariaDB 대 5.6.15 mysql 트리거가 작동하지 않음

문제가 있습니다. 로컬 I에서 5.6.15 mysql을 설치했는데 이 트리거가 제대로 작동합니다.

BEGIN

  IF New.id_category_default = 566
    THEN
      SELECT COUNT(*) DATA INTO @conta
          FROM `lorcustomization_field`
          WHERE `id_product` = Old.id_product ;

    IF @conta <=0
      THEN
        INSERT INTO `lorcustomization_field`(`id_product`,`type`,`required`)
            VALUES(Old.id_product,1,0);

    SELECT `id_customization_field` DATA INTO @idfield FROM `lorcustomization_field`
    GROUP BY `id_customization_field` DESC LIMIT 1;


    INSERT INTO `lorcustomization_field_lang` (
      `id_customization_field`,
      `id_lang`,
      `id_shop`,
      `name`
    )
    VALUES
    (
      @idfield ,
      1,
      1,
      'prova'
    );

    END IF;
  END IF;
END

나는 원격으로 5.5.52-MariaDB를 가지고 있고 트리거는 다른 셀렉터 스톱과 만나면 첫 번째 입력에서 멈춥니다.어디가 잘못됐나요?

** 체인지

  SELECT COUNT(*) DATA INTO @conta
      FROM `lorcustomization_field`
      WHERE `id_product` = Old.id_product ;

IF @conta <=0
  THEN

로.

IF NOT EXISTS( SELECT *
      FROM `lorcustomization_field`
      WHERE `id_product` = Old.id_product )
  THEN

** 체인지

   GROUP BY `id_customization_field` DESC LIMIT 1;

로.

   ORDER BY `id_customization_field` DESC LIMIT 1;

** 만약 이것들이 아직 없다면, 추가하세요.

INDEX(id_product)
INDEX(id_customization_field)

언급URL : https://stackoverflow.com/questions/45797849/5-5-52-mariadb-vs-5-6-15-mysql-trigger-not-work

반응형