계정을 활성화해야하지만 어떤 이유로 작동하지 않는이 쿼리가 있습니다. MySQL 업데이트 쿼리 이상한 동작
UPDATE users
SET activated = "1"
WHERE MD5(CONCAT(id, "putka")) = "5d98df6042ab7baa283606f8c8045a90"
5d98df6042ab7baa283606f8c8045a90
2023
+ 염의 MD5 해시이다. 검색어는 아무 것도하지 않지만 오류를 반환하지 않습니다 (예 :
0 rows affected
).
나는 내가 어떤 결과
SELECT id
FROM users
WHERE MD5(CONCAT(id, 'putka')) = '5d98df6042ab7baa283606f8c8045a90'
를 얻을 수 있는지 확인하기 위해 다음 쿼리를 실행 그리고 돼있로는,
2023
반환합니다. 누구나 왜 업데이트가 작동하지 않는지 알 수 있습니까? 2 개 필드
스키마 :
id int(11) NOT NULL AUTO_INCREMENT
및
activated tinyint(4) NOT NULL DEFAULT '0'
업데이트 쿼리의 CONCAT 함수에서 필드 ID에 대한 백틱을 추가 했습니까? 'MD5 (CONCAT (\'id \', "putka"))' –
은 아무런 차이가 있는지 보지 않고 시도했지만 그렇지 않습니다. 선택 쿼리는 두 가지 방식으로 작동합니다. 각각 업데이트 쿼리가 함께 작동하지 않습니다. –
@php_nub_qq 테이블에 대해 'show create table'이 어떻게 생겼는지 게시 할 수 있습니까? 나는'id'와'activated' 컬럼으로 만든 테스트 테이블에서 첫 번째 함수를 실행하고 올바르게 행을 업데이트했습니다. – Joshmaker