2017-12-28 2 views
1

현재 phpmyadmin을 통해 내 "테이블"사용자 테이블에 값을 입력하려고하는데 오류가 발생하면 " # 1136 열 수는 1 행 ""# 1136 열 개수가 1 행의 값 개수와 일치하지 않습니다"라는 오류 메시지가 나타납니다.

"user" table

에서 값의 수를 일치하지 않지만이 오류는없이 삽입 매번 작동, 나는 다음과 같은 트리거 내 DB에 입력 한 경우 발생하는 것 같습니다 :

This is the trigger

이 내가 위의 트리거를 통해 실제로 "영향"에 원하는 테이블 :

"ranking" table

내가하고 싶은 것은 "사용자"테이블에서 "이름"을 가지고, 그리고 "점" 또한 "사용자"테이블에서 모든 후 테이블 순위 내에서 같은 값을 삽입 "사용자"테이블에 삽입

+0

오류를 유발하는 코드를 공유하십시오 –

+0

덧붙여 말하자면 "user"는 [MySQL의 키워드]입니다 (https://dev.mysql.com/doc/refman/5.7/en/keywords.html#keywords-5 -7-detailed-U). backticks로 항상 \\ user \'.points'와 같은 것을 사용하는 것이 더 안전 할 수도 있습니다. –

+0

는 @AndrewMorton을 지적했지만 그와 관련된 무언가가 아프지 만 지금은 id와 같습니다. 바로 오류를 바로 잡으십시오. – Zyzzx

답변

3

당신은 INSERT항상이 열 이름을 포함 사용하는 경우 :

INSERT INTO ranking (col1, col2) -- whatever the columns are 
    VALUES (new.points, new.username); 
,369을

무엇을 user.pointsuser.username이되어야할지 모르겠습니다. ranking 테이블에 새 값을 포함 시키려고합니다.

+0

오른쪽으로 미안합니다. 분명히 아니 었어, 내가하고 싶은 일은 테이블 "사용자"에서 "사용자 이름"을 취하고 사용자 테이블에서도 "포인트"를 취하고 테이블 순위에 같은 값을 삽입하는 것입니다. – Zyzzx

+0

BEGIN INSERT INTO 순위 (순위. user_name, ranking.Points, ranking.Level) VALUES (user.username, user.points); 끝 어떨까요? – Zyzzx

관련 문제