MySqli更新数据库中的字段

时间:2016-07-20 17:38:34

标签: mysql mysqli

我有一个名为“number”和“form”的2个字段的数据库,需要更改一些字段。

我在excel中有一个列表,其值为1234.5,1233.7,其中1234是数字,5是表格中的表格编号。

是否可以执行以下操作:

$sql = "UPDATE `table` SET `field`='value' WHERE `number` IN (1234,1233) AND `form` IN (5,7)";

我看到的第一个问题是,当我有两个相同但不同的“形式”数字的“数字”时。

或者我可以这样做:

$sql = "UPDATE `table` SET `field`='value' WHERE CONCAT(number,'.',form) IN (1234.5,1233.7)";

有没有其他方法可以解决这个问题?

感谢。

2 个答案:

答案 0 :(得分:0)

我不确定你想要完成什么,但听起来数字会有所不同。尝试找到“。”的POSITION()。在号码。然后,对这些位置执行SUBSTRING()。它看起来像这样:

$sql = 
"UPDATE `table` 
SET `field`='value' 
WHERE number = SUBSTRING(input, 1, POSITION('.', input) - 1) 
      AND form = SUBSTRING(input, POSITION('.', input) + 1)";

以下代码将检查“。”之前的数字,然后检查“。”之后的表格。

答案 1 :(得分:0)

感谢Marc B

$sql = "UPDATE `table` SET `field`='value' WHERE CONCAT(number,'.',form) IN ('1234.5','1233.7')";

完成工作,只需要IN(' 1234.5' 1233.7')而不是IN(1234.5,1233.7)

感谢您的回复!