SQL数据库命令不更新

时间:2015-02-08 01:35:31

标签: mysql

我正在尝试执行此操作:

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

对于拥有HoursEssn=999887777的人,我希望所有Pno=10。小时数将变为5.0

2 个答案:

答案 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 nameschema name之前)喜欢

UPDATE your_schemaname.WORKS_ON
SET Hours = 5.0
WHERE Essn=99988777 AND Pno=10;