메뉴 구조의 카테고리 및 주문 ID를 기반으로 데이터베이스의 테이블 순서를 변경하려고 시도했습니다. 이 같은MYSQL IF 카테고리별로 순서를 변경하십시오.
UPDATE yourtable SET id=IF(id=2, 3, 2) where id in(2,3)
: :이 오류를 얻고있다
UPDATE menu
SET order = IF(order = `3`, `2`, `3`)
WHERE order = `3`
이
내가이 구문을 시도menuid menuname order categoryid -------------------------------------- 1 firstitem 1 1 2 seconditem 2 1 3 thirditem 1 2 4 fourthitem 2 2
테이블 구조로 대략 무슨이다 :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order = IF(order = `3`, `2`, `3`) WHERE order = `3`' at line 2
솔루션 코드 :
UPDATE menu
SET `order` = case when `order` = 3 then 2 else 3 end
WHERE `order` = 3 AND section = 2 OR `order` = 2 AND section = 2
모든 백틱은 무엇입니까? 이름 한정자로 값을 인용해서는 안됩니다. 숫자는 따옴표로 묶지 않거나 아포스트로피로 인용 할 수 있습니다. –