Обучение/Помощь новичкам | Помогите с php
Тема закрыта by
CITIZENfour
Причина: Вопрос решился!
Причина: Вопрос решился!
DELETED
26 октября 2017, в 4:28
Delete
SayrusCraft (26.10.2017 в 03:53)
PhpStorm , Интересно, как по вашему UPDATE сможет обновить 30 произвольных строк, если параметр WHERE будет указывать на первичный ключ (ID)? В таблице, значения первичных ключей не могут совпадать, соответственно поиск и обновление произойдет 1 раз, независимо от установленного LIMIT.
PhpStorm , Интересно, как по вашему UPDATE сможет обновить 30 произвольных строк, если параметр WHERE будет указывать на первичный ключ (ID)? В таблице, значения первичных ключей не могут совпадать, соответственно поиск и обновление произойдет 1 раз, независимо от установленного LIMIT.
limit не задаёт количество раз для обновления
обновление не произойдёт 1 раз, а будет обновлено произвольное количество 30-ти строк по условию where, но если это условие выполняется 1 раз, то будет обработана 1 строка
задавая limit 1 Вы указываете, что нужно обработать 1 строку и больше ничего не искать для обработки
PhpStorm , Уважаемый, UPDATE не сможет обновить 30 произвольных строк, тогда как WHERE явно указывает что нужно обновить строку (к примеру) с ID 1, в данном случае обновление произойдет только 1 раз, не взирая на значение LIMIT 30, потому что в таблице может быть только 1 первичный ключ, а LIMIT устанавливает максимальное кол-во строк для обработки, то есть запрос может затронуть максимум 30 строк, но не все 30 строк должны или будут затронуты.
вот обработанный запрос в mysql
обратите внимание, что затронута 1 строка, а LIMIT выставлен на 5
------
50520_3.PNG (69.7 Kb)
Скачиваний: 63
обратите внимание, что затронута 1 строка, а LIMIT выставлен на 5
------
Скачиваний: 63
DELETED
26 октября 2017, в 5:30
Delete
SayrusCraft (26.10.2017 в 05:05)
PhpStorm , Уважаемый, UPDATE не сможет обновить 30 произвольных строк, тогда как WHERE явно указывает что нужно обновить строку (к примеру) с ID 1, в данном случае обновление произойдет только 1 раз, не взирая на значение LIMIT 30, потому что в таблице может быть только 1 первичный ключ, а LIMIT устанавливает максимальное кол-во строк для обработки, то есть запрос может затронуть максимум 30 строк, но не все 30 строк должны или будут затронуты.
PhpStorm , Уважаемый, UPDATE не сможет обновить 30 произвольных строк, тогда как WHERE явно указывает что нужно обновить строку (к примеру) с ID 1, в данном случае обновление произойдет только 1 раз, не взирая на значение LIMIT 30, потому что в таблице может быть только 1 первичный ключ, а LIMIT устанавливает максимальное кол-во строк для обработки, то есть запрос может затронуть максимум 30 строк, но не все 30 строк должны или будут затронуты.
update как раз таки обновит именно столько строк по условию where, сколько указано в limit
а мне наверное ещё сто раз написать, что limit не указывает количество апдейтов, limit 1 указывает, что будет обработана 1 строка И ТОЛЬКО ОДНА
PhpStorm , О боже... вы на скрины выше гляньте, не может UPDATE обновить кол-во строк установленные в LIMIT, потому что WHERE ссылается на конкретный идентификатор строки которую нужно обновить, а значит по условию обновиться только 1 строка, а не количество строк указанное в LIMIT.
Вам пытаются объяснить, что нету смысла указывать LIMIT в UPDATE если WHERE содержит конкретный идентификатор строки которую нужно обновить.
Вам пытаются объяснить, что нету смысла указывать LIMIT в UPDATE если WHERE содержит конкретный идентификатор строки которую нужно обновить.
DELETED
26 октября 2017, в 5:47
Delete
SayrusCraft (26.10.2017 в 05:41)
PhpStorm , О боже... вы на скрины выше гляньте, не может UPDATE обновить кол-во строк установленные в LIMIT, потому что WHERE ссылается на конкретный идентификатор строки которую нужно обновить, а значит по условию обновиться только 1 строка, а не количество строк указанное в LIMIT.
Вам пытаются объяснить, что нету смысла указывать LIMIT в UPDATE если WHERE содержит конкретный идентификатор строки которую нужно обновить.
PhpStorm , О боже... вы на скрины выше гляньте, не может UPDATE обновить кол-во строк установленные в LIMIT, потому что WHERE ссылается на конкретный идентификатор строки которую нужно обновить, а значит по условию обновиться только 1 строка, а не количество строк указанное в LIMIT.
Вам пытаются объяснить, что нету смысла указывать LIMIT в UPDATE если WHERE содержит конкретный идентификатор строки которую нужно обновить.
скрины не нужны, Вы сначала научитесь отличать количество запросов от количества строк по лимиту при условии
limit не устанавливает, сколько раз будет выполнен запрос
PhpStorm , Уважаемый, я прекрасно вижу разницу между количеством запросов и количеством строк, но если вы через скрипт одним запросом решили изменить 6 строк в БД, то это не значит что сервером MySQL был выполнен 1 запрос для изменения 6 строк, каждое изменение строки обрабатываться сервером MySQL в виде запрос, ответ, соответственно одну обработанную строку можно приравнивать к одному запросу.
Да и кстати, про количество запросов я написал 1 раз, далее я уже писал про обновление строк, но что то даже и так до вас не достучаться.
________
посл. ред. 26.10.2017 в 06:25; всего 1 раз(а); by SayrusCraft
Да и кстати, про количество запросов я написал 1 раз, далее я уже писал про обновление строк, но что то даже и так до вас не достучаться.
________
посл. ред. 26.10.2017 в 06:25; всего 1 раз(а); by SayrusCraft
DELETED
26 октября 2017, в 6:49
Delete
SayrusCraft (26.10.2017 в 06:24)
PhpStorm , Уважаемый, я прекрасно вижу разницу между количеством запросов и количеством строк, но если вы через скрипт одним запросом решили изменить 6 строк в БД, то это не значит что сервером MySQL был выполнен 1 запрос для изменения 6 строк, каждое изменение строки обрабатываться сервером MySQL в виде запрос, ответ, соответственно одну обработанную строку можно приравнивать к одному запросу.
Да и кстати, про количество запросов я написал 1 раз, далее я уже писал про обновление строк, но что то даже и так до вас не достучаться.
PhpStorm , Уважаемый, я прекрасно вижу разницу между количеством запросов и количеством строк, но если вы через скрипт одним запросом решили изменить 6 строк в БД, то это не значит что сервером MySQL был выполнен 1 запрос для изменения 6 строк, каждое изменение строки обрабатываться сервером MySQL в виде запрос, ответ, соответственно одну обработанную строку можно приравнивать к одному запросу.
Да и кстати, про количество запросов я написал 1 раз, далее я уже писал про обновление строк, но что то даже и так до вас не достучаться.
будет выполнен 1 запрос, но изменению подвергнуться limit N строк, подпадающих под условие where, то есть если Вы поставили условие where id = айди пользователя limit 1, то изменению подвергнется ТОЛЬКО 1 строка подходящая под данное условие это ясно как белый день