如何防止MySQL数值发生变化?(phpMyAdmin的)

Ben*_*Ben 0 php mysql numeric phpmyadmin

我在phpMyAdmin上创建了MySQL中的表INVOICES.

CREATE TABLE INVOICES(
 INVOICENUMBER       NUMERIC(3) NOT NULL PRIMARY KEY,
 JOBID               NUMERIC(3) NOT NULL,
 CURRENTDATE         DATE,
 CHARGEDETAILS       VARCHAR(200),
 CHARGESUBTOTAL      NUMERIC(3,2) NOT NULL CHECK (CHARGESUBTOTAL >= 0),
 GRANDTOTAL          NUMERIC(3,2) NOT NULL CHECK (GRANDTOTAL >= 0),
 FINALWORKLOG        VARCHAR(200),
 TERMS               VARCHAR(200),
 INDEX (JOBID)
 );
Run Code Online (Sandbox Code Playgroud)

但是,我在尝试向表中添加记录时遇到了问题.第一个插入命令正确输入所有内容,但第二个命令将数值(CHARGESUBTOTAL和GRANDTOTAL)转换为表中的9.99.我不确定是什么导致了它,所以有人可以帮助我吗?

INSERT INTO INVOICES VALUES (1,1,'2014-11-15','None as the job was cancelled.',0.00,0.00,'The job was cancelled.','None.');
INSERT INTO INVOICES VALUES (2,2,'2014-11-15','£31.80 for total work.',31.80,35.00,'Employee took care of all the expected duties.','Payment should be undertaken within 7 days of receipt.');
Run Code Online (Sandbox Code Playgroud)

sec*_*tus 6

NUMERIC(3,2) 表示 - 整数的3位数和小数点的2位数.

http://dev.mysql.com/doc/refman/5.5/en/fixed-point-types.html

  • 我们可以两次投票吗?:)这是一个非常精确的定点声明. (2认同)