Postgres уникальные составные ключи с предложением where [duplicate]

Я знаю, что это происходит поздно, но надеюсь, что это кому-то поможет.

    function prime_number_finder($range)
    {
        $total_count=0;//intitialize the range keeper

        $i=1;//initialize the numbers to check

        while ($total_count<=$range)
        {
           $count=0;//initialize prime number inner count
           $k=$i;
           while ($k!=0)
           {

             if(($i%$k)==0)
             {
              $count++;
             }
              $k--;
           }
           //condition to check if a number is prime 
          if($count==2 || $count==1)
           {
            echo $i."</br>";//output the prime number;
            $total_count++;
            $i++;

           }
           //number is not prime
           if($count>2)
           {
             //$total_count++;
            $i++;
           }

        }
    }

// пример prime_number_finder (200);

3
задан klin 1 May 2018 в 13:14
поделиться

1 ответ

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

index_predicate

Используется для разрешения частичных уникальных индексов. Любые индексы, которые удовлетворяют предикату (которые фактически не должны быть частичными индексами), могут быть выведены. Выполняет формат CREATE INDEX.

В этом случае:

INSERT INTO key_value_pair (key, value, is_active) VALUES ('temperature','20', false) 
ON CONFLICT (key) WHERE is_active
DO UPDATE
SET value = '33', is_active = true;
5
ответ дан klin 16 August 2018 в 01:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: