mysql
  • replace
  • phpmyadmin
  • 2013-05-02 1 views 1 likes 
    1
    UPDATE 'module_tests' SET 'tests_content' = REPLACE('tests_content', '<a onclick=', '<a class="dic" onclick='); 
    

    phpmysql에서 최상위 쿼리를 실행하려고하면 오류가 발생합니다. 누군가 그 이유를 말해 줄 수 있습니까?SQL REPLACE가 phpmyadmin에서 오류를 발생했습니다.

    #1064 - 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 ''module_tests' SET 'tests_content' = REPLACE('tests_content', '<a onclick=', '' at line 1 
    
    +0

    "tests_content"는 필드 이름입니다. 그 필드 이름이 단지'tests_content'를 따옴표없이 사용한다면 –

    답변

    0

    변화 이에 대한 질의 :

    UPDATE `module_tests` 
        SET `tests_content` = REPLACE(`tests_content`, '<a onclick=', '<a class="dic" onclick='); 
    

    당신은 문자열로 테이블 및 열 이름을 전달한다.

    +0

    은 0을받습니다. – Kombuwa

    +0

    'tests_content' 열에' MISJHA

    +0

    물론 물론 많은 – Kombuwa

    2

    과 같이되어야 tablecolumn name..Your 쿼리 주위에 따옴표를 제거 :

    UPDATE module_tests SET tests_content = REPLACE(tests_content, '<a onclick=', '<a class="dic" onclick='); 
    

    체크 아웃 SQLFIDDLE 내가 의심

    , 당신은 작은 따옴표에 대한 몇 가지 혼란이 (') 및 역 따옴표 (`). 당신의 예에서, 당신은 역 따옴표를 사용하여 .... 테이블 이름과 필드 이름이 MySQL의에서 예약어와 충돌하지 않도록 을 백틱 사용할 수 있습니다, 당신은 다음과 같이 쿼리를 수정할 수 있습니다

    UPDATE `module_tests` SET `tests_content` = REPLACE(`tests_content`, '<a onclick=', '<a class="dic" onclick='); 
    

    확인 out Query With Backtick

    관련 문제