Mysql如何在1列中替换多个值

时间:2014-03-13 18:46:42

标签: php mysql

我的表格中有一个名为“上周视图值的视图”的列。

我想用新值替换这些旧值,所有这些值。

我试过了

UPDATE `Table` SET `views`=35490904, 4013, 1867953, 21558, 12237;

&安培;

REPLACE INTO `Table` (views) VALUES (35490904, 4013, 1867953, 21558, 12237);

我哪里错了?

2 个答案:

答案 0 :(得分:0)

查看UPDATE的sql语法:

UPDATE views SET property1=35490904, property2=4013, property3=1867953, property4=21558, property5=12237 WHERE ...;

您必须使用表格列的真实名称替换property部分。我假设这些都是整数,所以如果这些都应该作为字符串插入,请在值周围添加'

WHERE部分,您可以指定应更新哪些行。如果将其留空,则将使用给定值更新所有行。

答案 1 :(得分:0)

在一个语句中,您不能UPDATE多个具有不同值的行。您将需要多个查询。

<?php
$values = array
(
    /* row_id => column_value */
);

// Example code using PDO, feel free to use msqli instead
$db = /* Get database object instance */
$query = $db->prepare('UPDATE Table SET views=:column_value WHERE id=:row_id');
foreach($values as $row_id => $column_value)
{
    $result = $query->execute(array(
        ':row_id' => $row_id,
        ':column_value' => $column_value
    ));
    /* Confirm that $return is TRUE/check for errors if desired */
}