Mysql SQL数据库命令未更新
我正在尝试执行以下操作:Mysql SQL数据库命令未更新,mysql,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 withou
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
我想要所有的
小时数
用于那些拥有Essn=99988777
和Pno=10
的人。小时数将更改为5.0我希望您已经在首选项中取消选中安全更新。
从您发布的内容来看,似乎没有匹配的行,其中Essn=99988777和Pnp=10同时出现。如果您可以提供示例数据和预期结果,则会更好第一组
SQL\u SAFE\u UPDATES=0
,这是因为您尝试更新的表没有使用键的where
列,如果您使用主键
,则不会产生此类问题,让我们试试这种方法
SET SQL_SAFE_UPDATES=0;
UPDATE WORKS_ON
SET Hours = 5.0
WHERE Essn=99988777 AND Pno=10;
编辑
您可以修改查询以遵循规则(在WHERE
子句上使用主键
),如果不起作用,则在(表名
前面加上架构名
)如下
请提供示例数据、预期结果,并了解如何格式化您的帖子。只需在WHERE子句中添加一个与所有内容匹配的键值,如主键。我发现一个问题,Essn应该是,Essn='99988777',这样就消除了错误。但当我执行命令时,什么也没发生
UPDATE your_schemaname.WORKS_ON
SET Hours = 5.0
WHERE Essn=99988777 AND Pno=10;