Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果值等于数组的任何值,则MySQL更新列_Php_Mysql_Arrays - Fatal编程技术网

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);
 }
}