2013-10-10 36 views
2

我有如下表:MySQL的小數空字符串/空(Meekrodb)

CREATE TABLE `Plot` (
    `idPlot` int(11) NOT NULL, 
    `ListPrice` decimal(9,2) DEFAULT NULL, 
    `WebPrice` decimal(9,2) DEFAULT NULL, 
    `BottomPrice` decimal(9,2) DEFAULT NULL, 
    PRIMARY KEY (`idPlot`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

我想如果有一個空字符串傳遞值存儲在空十進制領域。但我似乎只能存儲0.00。

我使用Meekrodb做更新:

$db->update('Plot', array(
    'ListPrice' => $one['ListPrice'], 
    'BottomPrice' => $one['BottomPrice'], 
    'WebPrice' => $one['WebPrice'] 
), "idPlot=%s", $one['idPlot']); 

我輸入數組是這樣的:

Array 
(
    [idPlot] => 6 
    [ListPrice] => 99,999.00 
    [BottomPrice] => 
    [WebPrice] => 
) 

Meekro運行:

UPDATE `Plot` SET `ListPrice`='99999.00', `BottomPrice`='', `WebPrice`='' WHERE idPlot='6' 

我也得到:

Array 
(
    [0] => Array 
     (
      [idPlot] => 6 
      [ListPrice] => 99999.00 
      [WebPrice] => 0.00 
      [BottomPrice] => 0.00 
     ) 

) 

存儲在數據庫中。

是否有任何使它填充NULL而不是0.00的字段?

感謝

回答

1

請注意一個空字符串之間的區別:

$foo = ''; 

...和NULL值:

$foo = NULL; 

print_r()功能不顯示差異;你需要使用var_dump()準確地甩掉你的變量:

$data = array('', NULL); 
print_r($data); 
var_dump($data); 
Array 
(
    [0] => 
    [1] => 
) 
array(2) { 
    [0]=> 
    string(0) "" 
    [1]=> 
    NULL 
} 
1

我相信你已經插入了一個空值中沒有報價