본문 바로가기

Backend/SQL

(2)
[MySQL] Incorrect table definition; there can be only one auto column and it must be defined as a key 테이블에 컬럼을 삽입하려고 보니, Incorrect table definition; there can be only one auto column and it must be defined as a key 와 같은 에러가 발생하였다. 왜 이런 에러가 발생하였을까? 원인은 아래와 같다. - PK가 2개 잡혀 있었음 좀 더 찾아보니 auto_column으로 설정된 컬럼이 KEY가 아니라서 위와 같은 오류가 발생할 수도 있다고 한다. MySQL에서는 PK에 auto_column을 설정하는 것이 일반적이니,, (추가적으로, MySQL에서 SQL문으로 auto_increment를 작성하고 싶다면 ALTER TABLE 구문을 사용하거나 CREATE TABLE 할 때 지정해줄수 있다)   에러 해결방법ALTER tabl..
이미지 리소스 한 번에 교체 with SQL postgres DB에 테이블을 만들어서 image 리소스(url 주소)를 관리하고 있었다. -> API로 프론트엔드에 데이터를 내려주기 위해 해당 컬럼에 있는 이미지 url 주소를 SQL 명령어로 한 번에 교체할 수 있었는데, 다음과 같이 진행하였다. UPDATE DB 테이블 이름 SET 업데이트 하고자 하는 테이블의 컬럼 이름 = REPLACE(업데이트 하고자 하는 테이블의 컬럼 이름, '기존 이미지 URL 주소','바꾸고자 하는 이미지 URL 주소') 그리고 나서 db 테이블로 가서 새로고침을 해주니 해당 컬럼의 이미지 경로가 모두 변경되어 있었다. 명령어 한 번으로 컬럼 내부의 데이터를 한 번에 변경할 수 있는 SQL의 장점을 간단하게나마 느낄 수 있는 경험이었다.