Это, наверное, глупая ошибка на моей стороне, я знаю.MySql UPDATE странное поведение
Я пытался добавить суффикс ко всем заголовкам сообщений и конкретному тегу ко всем моим сообщениям в своем блоге (блог - это специально созданный код для учебных целей). Как только это не сработало, я попытался обновить его вручную, используя phpMyAdmin, но без успеха.
Итак, почему это не работает:
UPDATE
posts
SET
title = 'myNewTitle',
tags = 'myStupidTag'
WHERE
id = 1
Все, что я получаю OK статус от MySQL, но влияет с 0 строк. Однако, если я использую тот же ID в статье WHERE
в SELECT
, я получаю данные сообщений просто отлично.
Неправильно ли с моим запросом?
А вот таблица:
CREATE TABLE IF NOT EXISTS `posts` (
`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(512) DEFAULT NULL,
`link` varchar(512) DEFAULT NULL,
`rating` tinyint(3) unsigned DEFAULT NULL,
`html` text,
`tags` varchar(512) DEFAULT NULL,
`description` varchar(512) DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=80 ;
показать нам «ОБНОВЛЕНИЕ ... ВЫБРАТЬ», а также – ajreal 2010-12-05 12:37:12
Если после обновления есть 0 строк, это означает, что нет данных для обновления, т. е. значения заголовка и тега уже установлены в myNewTitle и myStupidTag – Mchl 2010-12-05 13:18:11
Следуя из предыдущих комментариев, попробовали ли вы SELECTing строку с идентификатором 1 до и после UPDATE? Как говорит Mchl, UPDATE вернет OK, если синтаксис UPDATE верен, и 0 строк, если ни одна строка не была изменена. Возможно, вы могли бы попробовать использовать разные значения для своих столбцов ... – Mike 2010-12-05 13:47:35