Php 如果值等于数组的任何值,则MySQL更新列
我有一个表,其中有一列存储数字。我还有两个不同的数组:第一个存储要检查的值,第二个存储要保存在列中的新值。Php 如果值等于数组的任何值,则MySQL更新列,php,mysql,arrays,Php,Mysql,Arrays,我有一个表,其中有一列存储数字。我还有两个不同的数组:第一个存储要检查的值,第二个存储要保存在列中的新值。 我需要一个查询,检查列中的值是否等于第一个数组的任何值,如果为真,则使用第二个数组的相同位置值更新列值。 例如: column value = 2 firstArray = [1, 2, 3] secondArray = [5, 6, 7] 我想检查2是否在firstArray中:是。。。它等于firstArray[1] 然后我想用secondArray[1]更新列值 在查询列的末尾,值
我需要一个查询,检查列中的值是否等于第一个数组的任何值,如果为真,则使用第二个数组的相同位置值更新列值。
例如:
column value = 2
firstArray = [1, 2, 3]
secondArray = [5, 6, 7]
我想检查2是否在firstArray中:是。。。它等于firstArray[1]
然后我想用secondArray[1]更新列值
在查询列的末尾,值将为6
有可能吗?
我发现了这一点,但我对查询MySQL非常陌生,我不知道如何在我的情况下使其工作。谢谢你的帮助
丹尼尔像这样的
$combined=array_combine( $1array, $2array);
第一个数组包含键,第二个数组包含值
您使用的是什么编程语言?数据库非常庞大(几乎超过400万条记录),因此我认为最好的方法是在phpmyadmin中运行SQL查询。如果不可能,我通常使用phpWow,谢谢。我要试试看。有一种方法可以通过phpmyadmin的SQL查询实现这一点?@danipen我对此表示怀疑,但我不是SQL专家。我会考虑一下。更新所有表(+4000000条记录)需要一段时间(半小时),但效果很好!thanks@danipen可能需要为列字段编制索引
foreach ($combined as $key => $val) {
if($key=2){
$query = "UPDATE table SET Column= '$val' WHERE Column = '$key'";
mysqli_query($query);
}
}