user_id 및 사용자 이름과 관련된 응답을 삭제하기 위해 실행하려는 SQL 문이 있습니다. 선택하려고 할 때 쿼리가 작동하지만 삭제에는 작동하지 않습니다. DELETE 문에서 발생하는 오류는 다음과 같습니다.
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'AS ans INNER JOIN users AS usr ON ans.user_id = usr.user_id WHERE (usr.userna...' at line 1
Query is: DELETE FROM answers AS ans INNER JOIN users AS usr ON ans.user_id = usr.user_id WHERE (usr.username = 'antonios')
SELECT 문에서 얻은 출력 :
1 answer text goes here 1 1 a 12 44 44 antonios U4HhMNnasQB1919QduzHO9+tgWoxsfqMY4MDUwYDDqQ= $argon2id$v=19$m=125000,t=4,p=1$gE6rtZdzpBaehzlyrVreRQ$WuhSeAaXE2bX3N4/k1yu3yQm9p7UdKGeCU/vmYn+M7c 0 0 0 0 0 2020-10-14
SELECT 문 :
SELECT * FROM answers AS ans INNER JOIN users AS usr ON ans.user_id = usr.user_id WHERE (usr.username = 'username');
DELETE 문 :
DELETE FROM answers AS ans INNER JOIN users AS usr ON ans.user_id = usr.user_id WHERE (usr.username = 'username');
테이블 구조 users
:
user_id int(11) NO PRIMARY_KEY auto_increment
username varchar(40) NOT_NULL MUL_KEY
email varchar(128) NOT_NULL
password char(98) NOT_NULL
userScore int(10) unsigned NOT_NULL DEFAULT: 0
questionsAnswered int(10) unsigned NOT_NULL DEFAULT: 0
highestAnswerStreak int(10) unsigned NOT_NULL DEFAULT: 0
correctAnswers int(10) unsigned NOT_NULL DEFAULT: 0
wrongAnswers int(10) unsigned NOT_NULL DEFAULT: 0
activeSince date NOT_NULL
테이블 구조 answers
:
answers_id int(11) NOT_NULL PRIMARY_KEY auto_increment
answerText text NOT_NULL
question_id int(11) NOT_NULL
isCorrect tinyint(4) NOT_NULL
choiceLetter varchar(1) NOT_NULL
questionNumber smallint(6) NOT_NULL
user_id int(11) NOT_NULL
DELETE 문의 예상 출력은 삭제로 인해 answers
테이블의 하나 또는 여러 행 (WHERE 절의 사용자 이름에서 얻은 user_id에 할당 된 모든 행)에 영향을줍니다.
당신은 가깝습니다. 삭제할 테이블을 나열해야합니다. 예를 들면 :
DELETE ans
FROM answers ans INNER JOIN
users usr
ON ans.user_id = usr.user_id
WHERE usr.username = 'username';
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다