2010-06-07 8 views
2

돈을 저장하는 데 사용되는 int(11) 열이 있습니다. 그래서 일부 대답을 읽고 그것은 단지 decimal (19,4) 데이터 형식으로 업데이트해야 할 것 같습니다.정수를 10 진수 데이터 형식으로 변환하는 절차?

변환 작업을 실제로 수행하기 전에 내가 알아야 할 문제가 있습니까? 내 응용 프로그램은 PHP/Zend에 있고 ORM을 사용하지 않으므로 데이터 유형을 일관되게 식별하기 위해 모든 종류의 클래스를 업데이트해야 할 것입니다. 당신이 진수로 INT를 변경할 때

+0

4 자리 10 진수? 무슨 통화를 저장할거야? –

+0

테이블의 데이터 유형을 변경하는 데는 문제가 없어야하지만 데이터 조작은 의심 스럽습니다. 귀하의 게시물에 대해서는 전혀 알지 못합니다. –

+0

@Col-USD. 그것은 단지 '19,4'가 대답 중 하나에 불과하다는 것입니다. 나는 19.2 달러가 USD를 위해 할 것이라고 생각한다. –

답변

3
mysql> CREATE TABLE t1 (
    -> id INT NOT NULL AUTO_INCREMENT, 
    -> money INT(11) NOT NULL, 
    -> PRIMARY KEY(id)) 
    -> ENGINE = MyISAM; 
Query OK, 0 rows affected (0.01 sec) 

mysql> DESCRIBE t1; 
+-------+---------+------+-----+---------+---------------- 
| Field | Type | Null | Key | Default | Extra 
+-------+---------+------+-----+---------+---------------- 
| id | int(11) | NO | PRI | NULL | auto_increment 
| money | int(11) | NO |  | NULL | 
+-------+---------+------+-----+---------+---------------- 
2 rows in set (0.01 sec) 

mysql> SELECT * FROM t1; 
Empty set (0.00 sec) 

mysql> INSERT INTO t1 (money) VALUES (`10.01`); 
ERROR 1054 (42S22): Unknown column '10.01' in 'field list' 
mysql> INSERT INTO t1 (money) VALUES ('10.01'); 
Query OK, 1 row affected (0.00 sec) 

mysql> SELECT * FROM t1; 
+----+-------+ 
| id | money | 
+----+-------+ 
| 1 | 10 | 
+----+-------+ 
1 row in set (0.00 sec) 

mysql> ALTER TABLE t1 MODIFY COLUMN money DECIMAL(19,4); 
Query OK, 1 row affected (0.02 sec) 
Records: 1 Duplicates: 0 Warnings: 0 

mysql> SELECT * FROM t1; 
+----+---------+ 
| id | money | 
+----+---------+ 
| 1 | 10.0000 | 
+----+---------+ 
1 row in set (0.00 sec) 

mysql> INSERT INTO t1 (money) VALUES ('10.12'); 
Query OK, 1 row affected (0.00 sec) 

mysql> SELECT * FROM t1; 
+----+---------+ 
| id | money | 
+----+---------+ 
| 1 | 10.0000 | 
| 2 | 10.1200 | 
+----+---------+ 
2 rows in set (0.00 sec) 

당신은 DD에 문제가 없습니다. 그러나 PHP 코드를 검토하여 코드가 십진수 값으로 올바르게 작동하는지 확인해야합니다.

+1

Hehe, 스타일 : 출력에 따옴표 대신 잘못 입력 된 백틱을 유지합니다. :) – Wrikken

관련 문제