mysql의 하위 쿼리 구분 기호
product_category_parent라는 테이블에 대한 필드(예: parent_id)를 업데이트하려고 합니다.
사용하려는 쿼리는 다음과 같습니다.
update sub_category_child set name='Mobile Phones', parent_id = (select parent_id from product_category_parent where cname = 'Appliances')
그러나 다음 오류를 반환합니다.
#1064 - SQL 구문에 오류가 있습니다. MariaDB 서버 버전에 해당하는 설명서에서 1행에서 '' 근처에 사용할 올바른 구문을 확인하십시오.
데이터베이스 스키마입니다.
table product_category_parent
id cname
----- ----------
1 Electronics
table sub_category_child
id name parent_id
----- -------- -------------
1 Mobile Phone 1
parent_id를 product_ category_parent.id의 외부 키로 지정합니다.
첫째, 당신은 아마도 당신이 원하는 것은id
부모 테이블에서, 그렇지 않습니다.parent_id
부모님 테이블에서. 그렇죠?
UPDATE sub_category_child
SET name = 'Mobile Phones',
parent_id = (SELECT id FROM product_category_parent WHERE cname = 'Appliances')
둘째, 이 쿼리를 사용하면 의 모든 레코드를 업데이트할 수 있습니다.sub_category_child
테이블. 그게 당신이 원하는 건가요, 아니면 당신이 놓친 건가요?WHERE
조항?
셋째, 하위 쿼리가 1개 이상의 레코드를 반환하는 경우 문제가 발생합니다.업데이트에 사용할 것을 선택하려고 합니다(예:ORDER by xx LIMIT 1
), 또는 - 뭔가 잘못되었을 가능성이 높습니다.각각의 선들이 그 안에 있다고 가정합니다.sub_category_child
부모가 한 명만 있어야 합니다. 그렇다면 부모를 찾기 위한 실제 조건은 무엇인가요?Mobile Phones
카테고리?
언급URL : https://stackoverflow.com/questions/41450121/sub-query-delimite-in-mysql
'programing' 카테고리의 다른 글
mysql에서 테이블 모음의 마지막 업데이트 시간을 결정하는 효율적이고 신뢰할 수 있는 방법이 있습니까? (0) | 2023.10.12 |
---|---|
포인터가 가리키는 문자열 크기 찾기 (0) | 2023.10.12 |
응답 내용은 psql로 이동한 후 주어진 __toString(), "boolean"을 구현하는 문자열 또는 개체여야 합니다. (0) | 2023.10.12 |
mariadb 설치 문제 - ERROR 1524 (HY000):'caching_sha2_password' 플러그인이 로드되지 않았습니다. (0) | 2023.10.12 |
워드프레스의 발췌문을 "더" 링크와 함께 사용하시겠습니까? (0) | 2023.10.12 |