如果记录为空,则将值插入表中


concate the value into table if record is empty

我正在更新记录,以便将新内容追加到同一行中。以下是查询:

    $update1 = "UPDATE review_words SET adjective = CONCAT(adjective, ',', '$adjective'), noun = CONCAT(noun, ',', '$noun') ";
    if (!mysqli_query($con,$update1))
    {
    //  die('Error: ' . mysqli_error($con));
    //  echo "error";
    }

当表中存在某个值时,此操作效果良好。但是,如果表记录为空,则不会连接该值。

我能克服这个问题吗?

请改用CONCAT_WS()。这正是你想要的。

UPDATE review_words
SET adjective = CONCAT_WS(',', adjective, '$adjective'),
    noun = CONCAT_WS(',', noun, '$noun')

请注意,您很容易受到SQL注入的攻击。请将MySQLi或PDO与参数化查询一起使用以避免此问题。

你能试着用这样的串联代替吗:

update1 = "UPDATE review_words SET adjective = CONCAT(IFNULL(adjective, ''), ',', '$adjective'), noun = CONCAT(IFNULL(noun, ''), ',', '$noun') ";