안녕하세요.
큐브리드+php를 이용해 뭔가를 하고있는데요.
이미 데이터가 들어있는 테이블 상의 스키마 변경이 가능한지 궁금합니다.
어떠한 필드를 varchar로 구성했는데 평균을 구하기위해 avg를 이용했더니 에러가 발생되서요..
그리고 -값이면서 소수점 둘째까지의 실수는 어떠한 자료형을 사용하면 되는지도 알고싶습니다.
스키마 변경은 데이터가 없는 경우 drop 하고 다시 add 를 하면 되지만, 데이터가 있는 경우에는 다음의 절차를 거쳐야 합니다.
1. 변경할 필드의 이름을 변경
2. 변경될 속성의 필드를 생성.
3. 데이터를 복사
4. 기존 필드의 삭제.
varchar 을 integer 로 변경시 다음과 같은 쿼리문을 쓰시면 됩니다.
alter class 테이블명 rename 필드명 as temp;
alter class 테이블명 add attribute 필드명 integer;
update 테이블명 set 필드명=cast(temp as integer);
alter class 테이블명 drop attribute temp;
그리고, - 값이면서 소숫점 둘째까지의 실수는 필요에 따라 double 이나 float 자료형을 사용하시면 됩니다.
>안녕하세요.
>
>큐브리드+php를 이용해 뭔가를 하고있는데요.
>이미 데이터가 들어있는 테이블 상의 스키마 변경이 가능한지 궁금합니다.
>어떠한 필드를 varchar로 구성했는데 평균을 구하기위해 avg를 이용했더니 에러가 발생되서요..
>그리고 -값이면서 소수점 둘째까지의 실수는 어떠한 자료형을 사용하면 되는지도 알고싶습니다.
소수점 아래 값을 포함하는 형식의 데이터는 numeric 을 사용하셔도 됩니다.
만약 소수점 앞의 자리가 10자리이고, 소수점 아래가 2자리면 총12자리이므로 아래와 같이 선언하면 됩니다.
create class ... (
...
my_number numeric(12,2)
)