PHP обновляет неправильное количество строк в MySQL - PullRequest
0 голосов
/ 26 февраля 2019

Этот SQL работает при обновлении примерно 334 строк.Однако когда PHP выполняет тот же самый SQL следующим образом:

$updateCollectsProductsQuery = $wpdb->prepare($preparedStatement, $queryParameters);
$wpdb->query($updateCollectsProductsQuery);

Обновляются только 50 строки.Кто-нибудь знает, почему это происходит?Есть ли какие-либо ограничения в PHP или Wordpress, о которых я не знаю для выполнения обновлений?

ОБНОВЛЕНИЕ 1

$preparedStatement выглядит как this и $queryParameters выглядит как это - и $updateCollectsProductsQuery является первой ссылкой .

ОБНОВЛЕНИЕ 2

PHP обновляет только первые 50 идентификаторы продукта, которые определены в IN (prdouct_ids), а остальные строки из wp_wps_collectsудаляется.Короче говоря, то, что раньше было 334 строк с этим запросом SELECT * FROM wp_wps_collects WHERE collection_id = 99380101233, теперь составляет только 50 строк.Это очень странное поведение из PHP.Я только обновляю.

ОБНОВЛЕНИЕ 3

Я сократил запрос до 51 одной возможной строки для обновления, и запрос все еще обновляет только 50 строк, а затем удаляетостальные 284 строки в таблице wp_wps_collects.Вот как выглядит запрос при передаче на $wpdb->query только с 51 wp_wps_collects строками для обновления:

UPDATE wp_wps_collects 
SET 
    position = (CASE
        WHEN product_id = 2214936019057 THEN 0
        WHEN product_id = 2214936084593 THEN 1
        WHEN product_id = 2214936150129 THEN 2
        WHEN product_id = 2214936215665 THEN 3
        WHEN product_id = 2214936281201 THEN 4
        WHEN product_id = 2214936379505 THEN 5
        WHEN product_id = 2214936445041 THEN 6
        WHEN product_id = 2214936477809 THEN 7
        WHEN product_id = 2214936510577 THEN 8
        WHEN product_id = 2214936576113 THEN 9
        WHEN product_id = 2214937002097 THEN 10
        WHEN product_id = 2214937231473 THEN 11
        WHEN product_id = 2214937722993 THEN 12
        WHEN product_id = 2214937788529 THEN 13
        WHEN product_id = 2214937985137 THEN 14
        WHEN product_id = 2214938017905 THEN 15
        WHEN product_id = 2214938116209 THEN 16
        WHEN product_id = 2214938181745 THEN 17
        WHEN product_id = 2214938312817 THEN 18
        WHEN product_id = 2214938345585 THEN 19
        WHEN product_id = 2214938574961 THEN 20
        WHEN product_id = 2214938706033 THEN 21
        WHEN product_id = 2214938804337 THEN 22
        WHEN product_id = 2214938935409 THEN 23
        WHEN product_id = 2214939000945 THEN 24
        WHEN product_id = 2214939033713 THEN 25
        WHEN product_id = 2214939197553 THEN 26
        WHEN product_id = 2214939230321 THEN 27
        WHEN product_id = 2214939263089 THEN 28
        WHEN product_id = 2214939295857 THEN 29
        WHEN product_id = 2214939328625 THEN 30
        WHEN product_id = 2214939394161 THEN 31
        WHEN product_id = 2214939426929 THEN 32
        WHEN product_id = 2214939525233 THEN 33
        WHEN product_id = 2214939590769 THEN 34
        WHEN product_id = 2214939656305 THEN 35
        WHEN product_id = 2214939754609 THEN 36
        WHEN product_id = 2214939852913 THEN 37
        WHEN product_id = 2214940049521 THEN 38
        WHEN product_id = 2214940672113 THEN 39
        WHEN product_id = 2214940934257 THEN 40
        WHEN product_id = 2214941294705 THEN 41
        WHEN product_id = 2214942572657 THEN 42
        WHEN product_id = 2214942605425 THEN 43
        WHEN product_id = 2214942638193 THEN 44
        WHEN product_id = 2214942670961 THEN 45
        WHEN product_id = 2214942736497 THEN 46
        WHEN product_id = 2214943129713 THEN 47
        WHEN product_id = 2214943457393 THEN 48
        WHEN product_id = 2214943981681 THEN 49
        WHEN product_id = 2214944079985 THEN 50
    END)
WHERE
    collection_id = 99380101233
        AND product_id IN (2214936019057 , 2214936084593,
        2214936150129,
        2214936215665,
        2214936281201,
        2214936379505,
        2214936445041,
        2214936477809,
        2214936510577,
        2214936576113,
        2214937002097,
        2214937231473,
        2214937722993,
        2214937788529,
        2214937985137,
        2214938017905,
        2214938116209,
        2214938181745,
        2214938312817,
        2214938345585,
        2214938574961,
        2214938706033,
        2214938804337,
        2214938935409,
        2214939000945,
        2214939033713,
        2214939197553,
        2214939230321,
        2214939263089,
        2214939295857,
        2214939328625,
        2214939394161,
        2214939426929,
        2214939525233,
        2214939590769,
        2214939656305,
        2214939754609,
        2214939852913,
        2214940049521,
        2214940672113,
        2214940934257,
        2214941294705,
        2214942572657,
        2214942605425,
        2214942638193,
        2214942670961,
        2214942736497,
        2214943129713,
        2214943457393,
        2214943981681,
        2214944079985) LIMIT 500;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...