MySQL更新不更新任何行

MySQL更新不更新任何行,mysql,sql-update,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_TIMES

这是一个奇怪的问题,我有一个表,并试图做一个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');
查询:

UPDATE `users` SET name='xorinzor' AND last_login=NOW() WHERE userid='55068'
没有返回错误,只是什么都没有发生,不知道为什么会这样

问候,,
Jorin

将更新语句更改为:

UPDATE `users` SET password='encryptedthingy', name='xorinzor', last_login=NOW() 
 WHERE userid=55068
您的SQL语法错误。如果要同时更新多个字段,则不应使用
关键字将其分隔,而应使用
分隔

另外,去掉
'55068'
的单引号应该会有所帮助,因为该列是一个数字。而
'55068'
是字符串文字

确保此语句返回一个值:

select * from `users` where userid=55068

将更新语句更改为:

UPDATE `users` SET password='encryptedthingy', name='xorinzor', last_login=NOW() 
 WHERE userid=55068
您的SQL语法错误。如果要同时更新多个字段,则不应使用
关键字将其分隔,而应使用
分隔

另外,去掉
'55068'
的单引号应该会有所帮助,因为该列是一个数字。而
'55068'
是字符串文字

确保此语句返回一个值:

select * from `users` where userid=55068

这确实起到了作用,但为什么没有返回错误呢?问题是,
password='encryptedthingy'和name='xorinzor'以及last_login=NOW()
在MySQL中是一个有效的布尔表达式。它可能会将该值分配给表的第一列。用
select*from users
检查句子后面的实际值。这确实起到了作用,但为什么没有返回错误呢?问题是
password='encryptedthingy'和name='xorinzor'以及last\u login=NOW()
在MySQL中是一个有效的布尔表达式。它可能会将该值分配给表的第一列。用
select*from users
检查该句后面的实际值。