목록💾 Database 4
여씨의 개발이야기
프론트에 따로 입력할 날짜값을 세팅할 필요 없이, 쿼리에서도 timestamp값을 따로 입력할 필요 없이 mysql 자체 기능으로 update / insert 할 때마다 자동으로 날짜값이 업데이트 하는 방법이다. ddl 입력시 아래와 같이 입력하면 된다. CREATE TABLE TEST ( `idx` INT NOT NULL AUTO_INCREMENT, `date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (idx) ); CURRENT_TIMESTAMP은 현재 시각을 의미하며, DEFAULT CURRENT_TIMESTAMP는 insert를 할 경우에 자동으로 현재 시각이 들어가도록 하는 명령어이..
프론트에 따로 입력할 날짜값을 세팅할 필요 없이, 쿼리에서도 timestamp값을 따로 입력할 필요 없이 mysql 자체 기능으로 update / insert 할 때마다 자동으로 날짜값이 업데이트 하는 방법이다. ddl 입력시 아래와 같이 입력하면 된다. CREATE TABLE TEST ( `idx` INT NOT NULL AUTO_INCREMENT, `date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (idx) ); CURRENT_TIMESTAMP은 현재 시각을 의미하며, DEFAULT CURRENT_TIMESTAMP는 insert를 할 경우에 자동으로 현재 시각이 들어가도록 하는 명령어이..
오늘도 이상한 업무가 생겼다... 이미 소스가 다 구성되어있는데 DB 이름을 바꾸라구요?ㅠ 아무튼 하라면 해야지... 하고 별 생각없이 유저친화적인 DBeaver를 실행해 여느때와 다름없이 DB 우클릭하여 이름 변경을 하려고 했다. 앵? 앵? 앵? 엥? 에엥? 근데 않되요 외..? 아차차... 잊고 있었는데 mysql은 직접적인 이름 변경이 안 됐다.. 그럼 어떡게해요?... 바로 DB를 Dump / Restore하는 방법이다. 1. 먼저 이름을 변경할 DB 우클릭을 한 후 도구 > Dump database를 실행한다. 2. dump할 DB와 하위 테이블, 뷰를 확인한 뒤 다음 버튼을 클릭한다. 3. 원하는 설정값을 부여한 뒤 Start 버튼을 클릭하여 Dump한다. 4. 새로 생성한 DB를 우클릭한 후..
📢 원인을 알아보자 덤프를 하려는 도중에 참조하는 놈이 invalid하다는 에러가 떴다. 이럴 땐 무조건 view의 ddl을 확인해서 수정되거나 사라진 table 또는 column 또는 function 등이 있는 지 확인해야한다. 😮 해결 방법 필자의 경우에는 참조하고 있는 테이블 중 하나가 데이터베이스 이름이 바뀌어서 나는 오류였다. view의 ddl을 복사해서 replace를 하면 해결된다. CREATE OR REPLACE ALGORITHM = UNDEFINED VIEW `데이터베이스명`.`뷰명` AS select ... from ... union select ... from ... where ...