MySQL Update不更新任何行

xor*_*zor 0 mysql sql-update

这是我遇到的一个奇怪的问题,我有一个表并尝试执行MySQL更新查询,但是,PHPMyAdmin一直说受影响的0行。

表:

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `userid` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  `last_login` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=55069 ;

--
-- Dumping data for table `users`
--

INSERT INTO `users` (`id`, `userid`, `name`, `last_login`) VALUES
(1, 55068, 'temp', '2012-02-02 09:04:50');
Run Code Online (Sandbox Code Playgroud)

查询:

UPDATE `users` SET name='xorinzor' AND last_login=NOW() WHERE userid='55068'
Run Code Online (Sandbox Code Playgroud)

没有错误返回,只是什么也没有发生,也不知道为什么会这样。

问候,乔林

Pab*_*ruz 5

将更新句子更改为:

UPDATE `users` SET password='encryptedthingy', name='xorinzor', last_login=NOW() 
 WHERE userid=55068
Run Code Online (Sandbox Code Playgroud)

您的SQL语法错误。如果您想一次更新多个字段,则不要使用and关键字将其分开,而应使用,

另外,摆脱单引号'55068'应该会有所帮助,因为该列是一个数字。并且'55068'是字符串文字。

确保此句子返回一个值:

select * from `users` where userid=55068
Run Code Online (Sandbox Code Playgroud)