Странное поведение mysqli-> запроса для нескольких DELETE - PullRequest
0 голосов
/ 27 июня 2010

Я выполняю следующий запрос, используя mysqli->query, но, несмотря на показ поврежденных строк, удаляющих правильные записи, MYSQL не удаляет записи.Тот же запрос отлично работает в командной строке.

DELETE m,s FROM t1 m
LEFT JOIN t2 s ON t1.sbid = t2.sb_message_id
WHERE m.sbuid = 11

mysqli->affected_rows дает правильный счет, но странно, что записи не удаляются.

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

1 Ответ

1 голос
/ 14 марта 2015

Глядя на этот SQL, очень ясно, что он плохо информирован. Формат, ожидаемый для оператора удаления:

Delete from TableName where condition

Таким образом, между полями Delete и from нет разрешенных имен полей. Техническая причина: delete удаляет строки, а не поля.

Если вы хотите «удалить» поля, т. Е. Изменить значение на ноль, вам нужно обновить запись и установить значения для полей на ноль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...