Py学习  »  DATABASE

更新时出现MySQL错误1157,但是我在where子句中使用主键

Accountant Ù • 5 年前 • 1710 次点击  

我有个1157错误

错误代码:1175您正在使用安全更新模式,并且尝试更新没有使用键列的WHERE的表。 若要禁用安全模式,请在“首选项”->“SQL编辑器”中切换该选项并重新连接。

当我试图执行这个语句时

UPDATE ip 
SET 
    ip_countryCode = 'GB',
    ip_countryName = 'United Kingdom',
    ip_city = 'London' 

WHERE BINARY ip_ip >= INET6_ATON('2.57.77.0') AND 
      BINARY ip_ip <= INET6_ATON('2.57.77.255');

这是 ip 桌子

CREATE TABLE `ip` (
  `ip_ip` varbinary(16) NOT NULL,
  `ip_last_request_time` timestamp(3) NULL DEFAULT NULL,
  `ip_city` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT '',
  `ip_countryCode` varchar(3) COLLATE utf8mb4_unicode_ci DEFAULT '',
  `ip_countryName` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT '',
/*
more 23 columns have been omitted for readability
*/
  PRIMARY KEY (`ip_ip`),
  KEY `countryCode_index` (`ip_countryCode`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

我在这里做错什么了为什么我会犯这个错误 初级的 where子句中使用了key?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/48977
 
1710 次点击  
文章 [ 2 ]  |  最新文章 5 年前