회원 여분필드 타입을 어떻게 바꿀 수 있나요?
본문
현재 회원의 여분필드 타입이 VARCHAR(250)으로 되어있습니다.
기본설정인 이 타입을 INT형으로 변경하고 싶은데 phpmyadmin에서 수정하니
다른 테이블 컬럼에 문제가 있다고 오류 창이 떠서 수정하면 또 다른 컬럼에 문제가 있다고 하고
그 컬럼을 수정하면 또 처음에 문제 있다고 한 컬럼에 문제가 있다고 떠서 phpmyadmin에서
타입을 못 바꾸고 있습니다..
회원들이 특정 게시판에 게시글을 작성하면 회원 여분필드 값이 1씩 증가하게 설정했는데
VARCHAR 형이라 그런지 값이 증가하지 않고 있습니다 ㅠㅠ
혹시 SQL 명령어나 php에서 수정할 수 있다면 알려주실 분 계실까요? 이것만 된다면 여지 없겠습니다 ㅠㅠ
답변 3
change_column.php 파일을 생성해 아래 내용을 넣고 서버 루트에 올린 후
브라우저로 실행해 보세요.
그럼 mb_1 ~ 10까지의 타입이 int(11)로 바뀔겁니다.
<?php
include_once "_common.php";
$table = "g531_member"; // 테이블명
$column = "mb_"; // 변경할 컬럼 prefix
$type = "int(11)"; // 변경할 컬럼 타입
for($i=1; $i < 11; $i++) {
$q = "ALTER TABLE $table MODIFY $column{$i} $type";
sql_query($q);
}
?>
g5_member테이블에
컬럼의 타입을 변경하실때 뜨는 오류관련되서
mb_nick_date 의 기본값이 누락되어있어서 그럴테니
mb_nick_date의 기본값을 '0000-00-00'
을 추가하시고
바꾸시려는 여분필드의 varchar를 int로 변경해보세요
가급적 db는 건들지마시고
그냥 write.update.skin.php 에서 후처리 해주는게 더 나을것 같은데요...
회원여분필드 +1 해주면 더 간단할텐데...
물론 수정시에도 update 는 되니까 글 작성시만 적용시키구요