'MySQL 칼럼 추가'에 해당되는 글 1건

728x90

테이블 칼럼을 조인(JOIN)을 고려하여 명칭이 가급적이면 중복되지 않게 처리하는 것이 편하고 중요하다는 걸 느끼고 있다.


// 테이블 칼럼 변경/추가

ALTER TABLE MEMBER ADD mfoneNO VARCHAR( 16 ) NULL DEFAULT NULL;
ALTER TABLE MEMBER ADD phoneBrand VARCHAR( 20 ) NULL DEFAULT NULL;
ALTER TABLE MEMBER ADD phoneModel VARCHAR( 20 ) NULL DEFAULT NULL;


ALTER TABLE MEMBER ADD `isUpdate` TINYINT( 2 ) NOT NULL DEFAULT '0' AFTER `isGanbu`;
ALTER TABLE MEMBER ADD `isDelete` TINYINT( 2 ) NOT NULL DEFAULT '0' AFTER `isUpdate`;

ALTER TABLE AccessLog CHANGE idx uid INT( 11 ) NOT NULL AUTO_INCREMENT;
ALTER TABLE AccessLog CHANGE userID LogID VARCHAR( 60 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;
ALTER TABLE AccessLog CHANGE userNM LogNM VARCHAR( 20 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ;
ALTER TABLE AccessLog ADD date CHAR( 8 ) NOT NULL AFTER ipaddr,ADD YM CHAR( 6 ) NOT NULL AFTER date,ADD MD CHAR( 4 ) NOT NULL AFTER YM ;
update AccessLog a, AccessLog b SET a.date=concat(a.year,a.month,a.day),a.YM=concat(a.year,a.month),a.MD=concat(a.month,a.day) where a.uid=b.uid;

// 테이블 칼럼 삭제
ALTER TABLE AccessLog DROP date,DROP YM,DROP MD;


// 임시테이블에 저장하기

가장 최근에 접속한 날짜 기준으로 정렬하고 LogID 기준으로 1개씩만 추출하여 저장

INSERT INTO AccessLog_tmp
(ipaddr,date,YM,MD,year,month,day,time,OS,browser,LogID,LogNM,hit)
(SELECT ipaddr,max(date),YM,MD,year,month,day,time,OS,browser,LogID,LogNM,hit
    FROM AccessLog group by LogID order by date DESC
);

PHP 에서 코드를 작성시

$sql ="INSERT INTO AccessLog_tmp
(ipaddr,date,YM,MD,year,month,day,time,OS,browser,LogID,LogNM,hit)
(SELECT ipaddr,max(date),YM,MD,year,month,day,time,OS,browser,LogID,LogNM,hit
    FROM AccessLog group by LogID order by date DESC
)";
@mysql_query($sql);




'SQL' 카테고리의 다른 글

[Oracle] PL/SQL  (0) 2016.11.24
[MySQL] 테이블 스키마 설계 고려사항  (0) 2016.11.19
[MySQL] SQL 모음  (0) 2016.09.23
엑셀에서 INSERT 쿼리문 만들기  (0) 2016.07.29
조건별 SUM SQL  (0) 2016.07.27
블로그 이미지

Link2Me

,