gpt4 book ai didi

MySQL 十进制空字符串/null (Meekrodb)

转载 作者:行者123 更新时间:2023-11-29 02:27:17 24 4
gpt4 key购买 nike

我有下表:

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;

如果传递的是空字符串,我希望在十进制字段中将值存储为 NULL。然而,我似乎只能存储 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 填充字段???

谢谢

最佳答案

请注意空字符串的区别:

$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
}

关于MySQL 十进制空字符串/null (Meekrodb),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19298027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com