2025-02-16
閱讀量:
487
在mysql中執(zhí)行update stu set s_gender='男' where s_gender='未知';這條命令,結(jié)果顯示Error Code: 1175.
在 MySQL 中遇到的 Error Code: 1175 是由于啟用了 安全更新模式(Safe Update Mode),該模式要求 UPDATE
或 DELETE
操作必須滿足以下條件之一:
使用
WHERE
子句時(shí),條件必須基于表的主鍵(或其他索引列)。使用
LIMIT
限制影響的行數(shù)(例如LIMIT 100
)。
你的 SQL 語句 WHERE s_gender='未知'
沒有使用主鍵或索引列,且未添加 LIMIT
,因此觸發(fā)了安全模式的保護(hù)機(jī)制。以下是解決方法:
解決方案 1:臨時(shí)關(guān)閉安全模式(推薦)
在本次會話中臨時(shí)禁用安全模式,執(zhí)行完操作后恢復(fù)默認(rèn)(不影響其他連接):
-- 禁用安全模式
SET SQL_SAFE_UPDATES = 0;
-- 執(zhí)行你的 UPDATE 語句
UPDATE stu SET s_gender = '男' WHERE s_gender = '未知';
-- 恢復(fù)安全模式(可選)
SET SQL_SAFE_UPDATES = 1;
解決方案 2:修改 SQL 語句滿足安全模式要求
方法 1:添加 LIMIT
為 UPDATE
語句添加 LIMIT
子句(即使需要更新所有匹配行):
UPDATE stu SET s_gender = '男' WHERE s_gender = '未知' LIMIT 1000; -- 數(shù)字需足夠大以覆蓋所有目標(biāo)行






評論(0)


暫無數(shù)據(jù)
CDA考試動態(tài)
CDA報(bào)考指南
推薦帖子
0條評論
1條評論
0條評論