Несколько mysql операторов INSERT в одном запросе php

Кажется, нет симпатичного способа сделать это. Здесь страница, которая имеет много методов, включая:

def split_seq(seq, size):
    newseq = []
    splitsize = 1.0/size*len(seq)
    for i in range(size):
        newseq.append(seq[int(round(i*splitsize)):int(round((i+1)*splitsize))])
    return newseq

26
задан Ian McCullough 20 August 2009 в 17:15
поделиться

4 ответа

Для чего это стоит , и в зависимости от того, вставляете ли вы те же данные в те же таблицы, гораздо лучше вставить несколько значений с помощью одной вставки например

INSERT INTO a VALUES (1,23),(2,34),(4,33);
INSERT INTO a VALUES (8,26),(6,29);
51
ответ дан 28 November 2019 в 06:04
поделиться

В общем, это допустимый SQL, поскольку каждый оператор заканчивается точкой с запятой, но PHP не позволяет вам отправлять более одного запроса за раз, чтобы защитить от Атаки с использованием SQL-инъекций, которые могут использовать плохо написанный скрипт.

Вы все еще можете использовать синтаксис вроде:

INSERT INTO foo VALUES ('a1', 'b1'), ('a2', 'b2');
2
ответ дан 28 November 2019 в 06:04
поделиться

Нет, mysql_query () разрешает только один запрос за раз.

Вы можете вставить несколько строк следующим образом:

INSERT INTO table (col1, col2)
VALUES (1, 2), (3, 4), (5, 6)
38
ответ дан 28 November 2019 в 06:04
поделиться

Нет. Это отдельные запросы, и их следует вызывать как таковые.

0
ответ дан 28 November 2019 в 06:04
поделиться
Другие вопросы по тегам:

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