我正在尝试执行此操作:
UPDATE WORKS_ON
SET Hours = 5.0
WHERE Essn=99988777 AND Pno=10;
并且它抛出了错误,
19:07:29 UPDATE WORKS_ON SET Hours=5.0 WHERE Essn=99988777 AND Pno=10 Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Queries and reconnect. 0.000 sec
我做了它要求和重新连接的内容,现在没有错误,但没有做任何事情
19:36:26 UPDATE WORKS_ON SET Hours= 5.0 WHERE Essn=99988777 AND Pno=10 0 row(s) affected Rows matched: 0 Changed: 0 Warnings: 0 0.000 sec
对于拥有Hours
和Essn=999887777
的人,我希望所有Pno=10
。小时数将变为5.0
答案 0 :(得分:0)
我希望您已取消选中偏好设置中的安全更新。 根据您发布的内容,看起来没有匹配的行,其中Essn = 99988777和Pnp = 10同时。如果您可以提供样本数据和预期结果,那就更好了
答案 1 :(得分:0)
首先设置SQL_SAFE_UPDATES=0
,这是因为您尝试更新没有使用WHERE
列的KEY
的表,如果您使用PRIMARY KEY
,那么它就不会创建有点问题,让我们这样试试
SET SQL_SAFE_UPDATES=0;
UPDATE WORKS_ON
SET Hours = 5.0
WHERE Essn=99988777 AND Pno=10;
修改强>
您可以修改您的查询以遵循规则(在PRIMARY KEY
子句上使用WHERE
),如果它不起作用,则在table name
与schema name
之前)喜欢
UPDATE your_schemaname.WORKS_ON
SET Hours = 5.0
WHERE Essn=99988777 AND Pno=10;