1

フィールドがnullでない場合にのみフィールドを更新する方法を見つけようとしています(そうでない場合、NULLは変更されていないフィールドを上書きします)。フィールドを null にすることはできません。

COALESCE と ISNULL の両方を試しましたが、Dreamweaver のコーディングに慣れていないため、正しい方法で使用していないはずです。コードは以下のとおりです。

<i>if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "catalogue")) {
  $updateSQL = sprintf("UPDATE catalogue SET catbox1=%s, catbox2=%s, catbox3=%s, catbox4=%s, catbox5=%s, catbox6=%s WHERE id=%s",
                       GetSQLValueString($_POST['catbox1'], "text"),
                       GetSQLValueString($_POST['catbox2'], "text"),
                       GetSQLValueString($_POST['catbox3'], "text"),
                       GetSQLValueString($_POST['catbox4'], "text"),
                       GetSQLValueString($_POST['catbox5'], "text"),
                       GetSQLValueString($_POST['catbox6'], "text"),
                       GetSQLValueString($_POST['id'], "int"));</i>
4

1 に答える 1

1

コードに間違いはほとんどありませんが、タイプミスの可能性があります。

  1. PHPラッパーなし:mysqlcodeを一部に含めました
  2. IS NOT NULLの代わりに使用ISNULL

あなたがやろうとしていることの基本的な方法は、このようなクエリを使用することです

UPDATE `tablename` SET `fieldName` = 'value' WHERE `fieldName` IS NOT NULL
于 2012-04-10T23:33:42.707 に答える