mysqli_affered_rows, mysql вычитают 2 столбца ошибки - PullRequest
0 голосов
/ 29 декабря 2011

У меня есть столбец, который я хочу обновить с результатами разницы между 2 столбцами mysql и подсчитать, сколько строк было затронуто.В моем случае это может быть только 1. Это запрос MySQL, который я использую, который вообще не согласован

$connection->query("UPDATE items SET Quantity_Available = Quantity - Quantity_Committed WHERE Item_ID = '$itemid'");
if($count=$connection->affected_rows!=1){echo $count;die('makassi');}

Если я заменяю Количество_Коммит на числовое значение, я получаю то, что я хочу, т.е. кодпродолжается.Однако, если я оставлю все как есть, я получу правильное значение $ count (1), но оно также завершится неудачей, повторив 'makassi', чего не должно быть.

Является ли это неправильным способом вычитания 2 столбцов mysqlили это ошибка в php mysqli api ??Это действительно сбивает с толку меня!Помогите пожалуйста

1 Ответ

1 голос
/ 29 декабря 2011

Это плохая практика, которую вы пытаетесь сделать. Если столбец в базе данных получен из другого столбца уже в столбце. Тогда такова избыточность создания базы данных. Вся база данных должна быть максимально нормализована. Пожалуйста, прочитайте здесь о нормализации данных.

Все, что вы пытаетесь сделать, может быть достигнуто гораздо лучшим способом. Нравится

Фильтрация записей

SELECT * FROM items WHERE Quantity - Quantity_Column > 5

Или, извлекая доступное количество.

SELECT (Quantify - Quantity_Column) as `Quality_Available` from items
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...