Это, наверное, глупая ошибка на моей стороне, я знаю.
Я пытался добавить суффикс ко всем заголовкам и конкретному тегу ко всем моим сообщениям в своем блоге (блог - это специально созданный код для учебных целей). Как только это не сработало, я попытался обновить его вручную, используя phpMyAdmin, но без успеха.
Итак, почему это не работает:
UPDATE
posts
SET
title = 'myNewTitle',
tags = 'myStupidTag'
WHERE
id = 1
Все, что я получаю, это ОК, статус от mysql, но с 0 строк. Однако, если я использую один и тот же идентификатор в 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 ;
Вы действительно уверены, что PHPMyAdmin говорит "ОК" к вашему запросу UPDATE
, хотя нет затронутых строк?
Предложение WHERE
неверно - поле ID
должно быть прописным, а не строчным.
Попробуйте вместо этого:
UPDATE posts
SET title = 'myNewTitle',
tags = 'myStupidTag'
WHERE ID = 1
С уважением
ИЗМЕНИТЬ
неверно - пользователь ajreal уже исправил меня!
Но: ваш запрос должен работать - я попробовал его с вашей табличной схемой и некоторыми случайными сгенерированными данными...
Нечувствительность к тегам mysql в окнах столбцов и unix, попробуйте
select * from posts where ID=1
для проверки вашей таблицы сообщений есть данные
Unknown column 'id' ...
или что-то еще, а не на "0 строк обновлено"
UPDATE ... SELECT
также