Проблема обновления MySQL - PullRequest
0 голосов
/ 01 мая 2011

Я обнаружил ошибку при обновлении поля таблицы «delete» в MySQL

CREATE TABLE IF NOT EXISTS `student` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` text NOT NULL,
  `delete` varchar(3) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=29 ;

INSERT INTO `student` (`name`, `delete`) VALUES('newa', 'no')

UPDATE SET delete='yes

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'set delete-'yes'' at line 1

Ответы [ 4 ]

1 голос
/ 01 мая 2011

delete - зарезервированное слово в mySQL.

Вам необходимо заключить имя поля в обратные черты:

 SET `delete` = .....

или, желательно, использовать другое имя поля.*

0 голосов
/ 01 мая 2011

используйте `delete` вместо delete.Пожалуйста, не используйте зарезервированные слова для имен таблиц и столбцов.Вы можете также переименовать столбец в is_deleted.

0 голосов
/ 01 мая 2011

Вы забыли имя таблицы между UPDATE и SET. У вас должно быть ОБНОВЛЕНИЕ студента SET delete = 'yes'

Кроме того, вы не должны использовать зарезервированные ключевые слова в качестве имен столбцов.

0 голосов
/ 01 мая 2011

Попробуйте:

UPDATE student SET `delete`='yes'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...