как правильно проверить, существуют ли данные в таблице при отправке нескольких запросов за раз php [duplicate]

Ответ Игоря Чубина можно улучшить. При тестировании, если X является простым, алгоритм не должен проверять каждое число до квадратного корня из X, он должен проверять только простые числа до sqrt (X). Таким образом, он может быть более эффективным, если он ссылается на список простых чисел по мере его создания. Функция ниже выводит список всех простых чисел под b, что удобно в виде списка по нескольким причинам (например, когда вы хотите узнать количество простых чисел & lt; b). Проверяя простые числа, он экономит время при более высоких числах (сравните около 10 000, разница резко).

from math import sqrt
def lp(b)
    primes = [2]
    for c in range(3,b):
        e = round(sqrt(c)) + 1
        for d in primes:
            if d <= e and c%d == 0:
                break
        else:
            primes.extend([c])
    return primes
10
задан Chella 25 December 2012 в 08:21
поделиться

3 ответа

изменить таблицу, добавив ограничение UNIQUE

ALTER TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)

, но вы можете сделать это, если таблица employee пуста.

или если записи существуют, попробуйте добавить IGNORE

ALTER IGNORE TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)

UPDATE 1

Что-то пошло не так, я думаю. Вам нужно только добавить уникальное ограничение для столбца ename, так как eno всегда будет уникальным из-за AUTO_INCREMENT.

Чтобы добавить уникальное ограничение, вам нужно сделать некоторые очистки в вашей таблице.

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

DELETE a
FROM Employee a
     LEFT JOIN
     (
        SELECT ename, MIN(eno) minEno
        FROM Employee
        GROUP BY ename
     ) b ON a.eno = b.minEno
WHERE b.minEno IS NULL;

ALTER TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename);

Вот полная демонстрация

15
ответ дан John Woo 23 August 2018 в 16:22
поделиться

Создайте UNIQUE CONSTRAINT, на котором вы думаете, что существует дубликат.

как

ALTER TABLE MYTABLE ADD CONSTRAINT constraint1 UNIQUE(column1, column2, column3)
5
ответ дан Sashi Kant 23 August 2018 в 16:22
поделиться
1
ответ дан Unix One 23 August 2018 в 16:22
поделиться
Другие вопросы по тегам:

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