2013-02-27 4 views
0
UPDATE starfsfolk 
SET starfsfolk.stada=2 
WHERE starfsfolk.deild LIKE '%Hugbúnaðardeild%'; 

UPDATE starfsfolk 
SET starfsfolk.stada=3 
WHERE starfsfolk.deild LIKE '%Markaðsdeild%' 

은 내가 사용하는 코드입니다.0 행을 반환하는 SQL 업데이트

내가 선택 사용하고 있다면 내가

대부분의 작업 (= "Markaðsdeild"또는 LIKE "Markaðsdeild"와 같은) 그것의 여러 다른 버전을 시도했습니다,하지만 난 업데이 트를 사용하는 데 필요한과 그 작동하지 않습니다 몇 가지 이유.

이 WHERE 명령은 select에서 작동하지만 은 update 명령을 사용하면 0 행을 반환합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

편집 : 업데이트 명령 전후의 모든 경우에 stada가 1로 설정됩니다. 그것은 내가 원했던 것처럼 1에서 2, 3으로 바뀌지 않았습니다.

Edit2 : 데이터베이스의 heres a screenshot, 나는 또한 당신에게 create 명령을 줄 수 있습니다.

편집 3 : Stada는 int가 아니라 비트입니다. 알아 낸 것, 그게 무슨 변화인지.

해결 방법 : 비트가 1과 0이므로 오류가 테이블을 만들 때 stada로 다시 작성하므로 코드가 작동합니다.

+4

은 다음 MySQL은 기본적으로 WHERE LIKE 문에서도를 사용하여 업데이트 할 수 있도록 0 또한 MySQL의 워크 벤치 해달라고 UPDATED 반환합니다. – wormhit

+1

몇 가지 샘플 데이터를 제공하십시오. 그래서 우리는 귀하의 질의를 확인할 수 있습니다. –

+0

UPDATE는 실제로 변경된 행 수를 반환합니다. – Aris

답변

0

쿼리에 의해 stada 값이 변경되지 않으면 아무 것도 업데이트되지 않았으므로 0 행이 반환됩니다.

관련 문제