코딩 | 개념 정리/MySQL

| Can't find target attribute 과연 도대체 뭐가 원인일까.. 하루정도 고민했습니다. 이 방법 저 방법 써보다가 해결책을 찾게 되어 포스팅합니다. Can't find target attribute [type] 본문을 해석하게 되면 해당 속성을 찾지 못한다는 뜻인데요. 분명이 컬럼 상단에 속성을 명시했음에도 위와 같은 결과가 계속 나오더군요. 이와 비슷한 사례로 [no] 또한, 같은 에러 메시지를 출력했었습니다. 도저히 안되겠다싶어, 컬럼도 새로 만들어보고 했지만 역시나는 역시나 였습니다. 결국 마지막수단으로 컬럼 속성명 자체를 바꾸어 시도해보았는데요. ex. type -> types 이랬더니 에러도 안뜨고, 잘 올라가더라구요. 이렇게 오늘도 하나 배워갑니다.
오늘도 어김없이 발생한 오류 mysql에서 datetime형태로 table create을 하려니 위와 같이 오류가 발생하네요. 찾아보니, 원인과 해결방법은 아래와 같았습니다. SQL 오류(1067): Invalid default value for 'datetime' 테스트 환경 MySQL 5.7 버전 참고 URL :: https://stackoverflow.com/questions/36882149/error-1067-42000-invalid-default-value-for-created-at 운영 환경에 적용 되어 있는 환경에서 DDL 문만 추출 후 Create 문을 Local 에 넣게 되면 아래와 같은 메세지가 나오게 됩니다, SQL 오류(1067): Invalid default value for 'd..
MySQL에서 CRUD / CREATE, UPDATE, DELETE, SELECT를 할 때 같은 테이블을 사용할 수 없다. 그래서 아래와 같은 에러가 발생한다. 문제 발생 Error 1093 (ER_UPDATE_TABLE_USED) SQLSTATE = HY000 Message = "You can't specify target table 'x' for update in FROM clause" 해결 방법 [sample 1을 sample 2처럼 변경_alias(as)별첨을 추가] SAMPLE 1 update table_a set no = 'a' where seq in (select seq from table_a where x = 'b' ) SAMPLE 2 update table_a set no = 'a' wh..
쿼리문으로 백업파일을 뽑아내던 중 문제가 발생했다. 뽑아낸 파일을 보니 컬럼명이 없는 것이다... 알고보니, into outfile로 export 시에는 기본적으로 컬럼명을 포함하지 않는다고 한다. 이에 대한 해결 방법은 아래와 같다. 기존 쿼리문에 SELECT "컬럼명1", "컬럼명2", "컬럼명3" UNION SELECT * FROM sample_file INTO OUTFILE~ 컬럼명을 먼저 삽입해주고 UNION으로 붙이는 방법으로 한다면 해결완료!! 알면 알수록 재미는 MySQL, 오늘도 한수 배워갑니다.
오늘 따라 유난히 에러가 많이 나길래 정리해봅니다. 1번 Error 1136(21S01) : Columm count doesn`t match value count at row 1 음.. 대략 보면 첫번째 줄에서 열의 수와 값의 수가 일치하지 않다고 나옵니다. 여기에서 1번 줄이란 SQL 쿼리문의 1번 줄임을 주목하시고, 해결 방법은 간단합니다. 그냥 열과 값의 수를 일치시킬 것 자주 하는 실수가 값 콤마를 오타내는 일이므로 콤마 오타를 유심히 확인할것!! 2번 Error 1064(42000) : you have an error in your SQL Syntax; check the manual that corresponds to your MySQL server version for the right syn..
query로 export로 하려는데 아래와 같은 에러가.... The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 1. MySQL에 접속하여 변수 상태를 확인한다 secure_file_priv에 특정 경로가 설정되어 있음을 확인할 수 있다. 경로가 설정되어 있다면 해당 경로에 있는 파일만 import/export할 수 있다. 그럼 여기서 방법은 두가지. 1) 해당 경로에 파일을 넣던지, 2) 변수에 설정된 경로를 삭제하던지 선택한다. 2) 변수에 설정된 경로를 삭제하기로 했다면 2. secure_file_priv 설정을 바꿔준다 $vim /etc/mysql/my.cnf 위의 경로로..
Workbench나 DBeaver의 UI로 export하는 방법도 있지만, 쿼리문을 익히다보니 문득 쿼리로 직접 export해보고 싶어 찾아봤습니다. 방법은 총 4가지가 있더군요. 환경에 따라 골라쓰면 될 듯 싶습니다. 감사합니다. ^^ 방법 1 SELECT * FROM 저장할 테이블 INTO OUTFILE '저장할 경로/저장할 이름.확장자' CHARACTER SET utf8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n'; 방법 2 SELECT * FROM ( ( SELECT '필드1' AS 'filed_1', '필드2' AS 'filed_2' ) UNION ( SELECT filed_..
//기존 컬럼에 자동증가 속성 및 pk 추가 ALTER TABLE table_name MODIFY coulmn_mame INT NOT NULL AUTO_INCREMENT PRIMARY KEY; //기존 컬럼에 자동증가 속성 추가 ALTER TABLE table_name MODIFY coulmn_mame INT NOT NULL AUTO_INCREMENT; //자동속성값 초기화 ALTER TABLE table_name AUTO_INCREMENT =1; //자동속성 및 pk값을 갖는 신규컬럼 추가 ALTER TABLE table_name ADD COLUMN coulmn_mame INT(9) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST; //자동속성 값을 갖는 신규컬럼 추가 ALT..
PatienceLee
'코딩 | 개념 정리/MySQL' 카테고리의 글 목록