본문 바로가기

MySQL

(4)
Oracle/JDBC 해당 위치에 지원되지 않는 SQL92 토큰: 43 오류 해당 위치에 지원되지 않는 SQL92 토큰: 43 해결 오타가 있는 것이다. 내 경우에는 INSERT INTO 테이블명 (...) VALUES (...)를 INSERT INTO 테이블명 {...} VALUES {...}로 써서 오타가 났다 ㅠㅠ
MySQL 테이블 컬럼 정보 가져오기 (산출물 작성을 편하게) 피해갈 수 없는 산출물. ERD 프로그램에서 내보내기도 가능하지만 가끔 export 포맷 맞추기가 더 귀찮을 때도 있다. 요구하는 산출물이 표 형태라면, 다음 쿼리로 대충 순서만 맞춰서 붙여넣기 한다. 대개 DB 관련 산출물에서는 다음 정보들을 요구한다. 스키마 이름 테이블 이름 테이블 코멘트 컬럼 이름 컬럼 코멘트 Null 가능하니? PK? FK? 등... SHOW COLUMNS 한 개 테이블 컬럼정보 show columns 테이블명; INFORMATION_SCHEMA 사용 information_schema.tables 테이블 정보 information_schema.columns 컬럼 정보 select t.table_schema, t.table_name, t.table_comment, c.column_..
Spring/MySQL '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp 오류 MySQL 5.7.26 고인물 레거시 시스템을 새로 만드는 중이다. MySQL에서 datetime 컬럼을 추가 후 테스트케이스 작성 중 다음과 같은 오류가 떴다. '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp error 해당 컬럼 값은 NULL인데 왜 '0000-00-00 00:00:00' 라고 할까? 처음에 Not Null에 디폴트로 타임스탬프를 줘서 만들었다가 Nullable, 디폴트를 삭제한 것이 이유였다. 검색을 해보니 접속 정보에서 zeroDateTimeBehavior=convertToNull를 추가하라고 하는데 컬럼정보를 수정하는 것이 더 옳은 방법이라고 생각한다. 그냥 깔꼼하게 컬럼을 지우고..
MySQL / You can't specify target table 'TABLE' for update in FROM clause MySQL / You can't specify target table 'TABLE' for update in FROM clause 데이터 때문에 생긴 오류로 의심되서 업데이트를 쳐보는데 MySQL 에러가 떴다. 쿼리도 매우 단순하기 그지 없는데 뭘까? update TABLE_NAME set COL_NAME = (select COL_NAME from TABLE_NAME where COL_ID = 882825) where AR_ID = 986178; 혹시나 서브쿼리에 alias를 줘야하나 싶어서 넣어 봤는데도 안된다. 검색을 해보니, 서브쿼리를 한번 더 감싸줘야 한단다. 오라클에서는 상관 없던 건데 MySQL로 넘어오니 이렇게 사소하게 다른 점이 많다. update TABLE_NAME ..