我从 MySQL 收到此错误消息
错误 1175 (HY000):您正在使用安全更新模式,并且尝试更新没有使用 KEY 列的 WHERE 的表。
我使用的查询是这样的:
update custcopy set cust_contact=null where cust_id='1000000005';
我使用的MySQL的信息是“Ver 8.0.32 for Win64 on x86_64 (MySQL Community Server - GPL)”。我访问的表的方案如下:
+--------------+-----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-----------+------+-----+---------+-------+
| cust_id | char(10) | NO | | NULL | |
| cust_name | char(50) | NO | | NULL | |
| cust_address | char(50) | YES | | NULL | |
| cust_city | char(50) | YES | | NULL | |
| cust_state | char(5) | YES | | NULL | |
| cust_zip | char(10) | YES | | NULL | |
| cust_country | char(50) | YES | | NULL | |
| cust_contact | char(50) | YES | | NULL | |
| cust_email | char(255) | YES | | NULL | |
+--------------+-----------+------+-----+---------+-------+
我查阅了mysql文档,发现这个说法可能有帮助,但我不太明白为什么。
我需要一个不会导致该错误的查询,并且禁用 SQL_SAFE_UPDATES 不是一个选项。