MySql ОБНОВЛЕНИЕ странное поведение

0

Это, наверное, глупая ошибка на моей стороне, я знаю.

Я пытался добавить суффикс ко всем заголовкам и конкретному тегу ко всем моим сообщениям в своем блоге (блог - это специально созданный код для учебных целей). Как только это не сработало, я попытался обновить его вручную, используя 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 ;
  • 0
    покажите нам UPDATE ... SELECT также
  • 1
    Если после обновления затронуто 0 строк, это означает, что данные для обновления отсутствуют, т. Е. Значения заголовка и тега уже установлены в myNewTitle и myStupidTag.
Показать ещё 2 комментария
Теги:

2 ответа

0
Лучший ответ

Вы действительно уверены, что PHPMyAdmin говорит "ОК" к вашему запросу UPDATE, хотя нет затронутых строк?

Предложение WHERE неверно - поле ID должно быть прописным, а не строчным.

Попробуйте вместо этого:

UPDATE posts
SET title = 'myNewTitle',
    tags = 'myStupidTag'
WHERE ID = 1

С уважением

ИЗМЕНИТЬ

неверно - пользователь ajreal уже исправил меня!

Но: ваш запрос должен работать - я попробовал его с вашей табличной схемой и некоторыми случайными сгенерированными данными...

  • 1
    без учета регистра для столбца, с учетом регистра для таблицы ... так что это не имеет значения
  • 0
    @ajreal - ой! вы правы. ;-)
Показать ещё 1 комментарий
-1

Нечувствительность к тегам mysql в окнах столбцов и unix, попробуйте

    select * from posts where ID=1

для проверки вашей таблицы сообщений есть данные

  • 2
    Если бы это была проблема чувствительности к регистру, mysql жаловался бы на Unknown column 'id' ... или что-то еще, а не на "0 строк обновлено"

Ещё вопросы

Сообщество Overcoder
Наверх
Меню