У меня проблема с оператором обновления в Mysql. Вот мое заявление:Оператор обновления в mysql не работает, хотя он должен работать
update `momtos_kullanici` set `firma_quantity`='1', `auditor_quantity`='1', `print_word`=0, `print_excel`=0 WHERE `MK_ID`='2690'
Этот код выполняется через PHP и не меняет значения. Я прочитал его и скопировал его на панель phpmyadmin, и все же он возвращает сообщение «0 rows affected», но если я повторно укажу значения 0 и 1 в print_word
и print_excel
значениях в phpmyadmin, он будет работать.
Column Type null default
auditor_quantity int(11) No 1
firma_quantity int(11) No 1
print_word bit(1) No 0
print_excel bit(1) No 0
Я попытался поместить число в кавычки и даже истинные и ложные слова, то же самое. Я столкнулся с той же проблемой с полем varchar. В то время я просто сказал «о, хорошо ...», но этот действительно сумасшедший.
Может ли кто-нибудь мне помочь? Есть что-то, чего я не хватает?
Попробуйте ввести имя колонки без серьезного характера ('). Я знаю, что это не должно быть разницей, но я просто сделал тест, и обновление не работало, если я не назвал имя таблицы. –
Mysql возвращает 0 в случае, если какой-либо столбец не обновляется, хотя соответствует строке. В приведенном выше случае все значения, которые вы обновляете, и захватывающее значение в БД одинаковы. – shola
Спасибо, ребята, я нашел обходное решение. преобразовал бит в int (1), и, во-вторых, я понял, что обновление не изменит значения, если сохраненные значения совпадают с новыми. –