ConditionExpression attribute_not_exists()
P粉132730839
P粉132730839 2024-03-29 09:20:08
0
1
432

我嘗試在資料庫中插入專案時使用 ConditionExpression,但它不起作用,當 Putitem() 函數運行時,php 腳本會中斷。

如果該項目不存在,我想插入該項目。

$response = $client->putItem(array(
    'TableName' => 'tablename',
    'Item' => array(
        'serialNumber'   => array('S' => 'test123'),
        'deviceType' => array('S' => '1')
    ),
    'ConditionExpression' => 'attribute_not_exists(serialNumber)'
));

我嘗試 var_dump $response,但程式碼在上面的函數上中斷。

serialNumber 它是一個分割區鍵,應該可以按預期工作。

下面的程式碼工作正常,但他用新值取代現有項目,這是我不希望發生的情況。

$response = $client->putItem(array(
    'TableName' => 'tablename',
    'Item' => array(
        'serialNumber'   => array('S' => 'test123'),
        'deviceType' => array('S' => '1')
    )
));

P粉132730839
P粉132730839

全部回覆(1)
P粉667649253

當您設定的條件計算結果為 false 時,預計您會傳回 CondidtionCheckFailedException。嘗試將程式碼包裝在 try/catch 區塊中,看看它是否按預期工作?

try {
$response = $client->putItem(array(
    'TableName' => 'tablename',
    'Item' => array(
        'serialNumber'   => array('S' => 'test123'),
        'deviceType' => array('S' => '1')
    )
));
}
catch(Exception $e) {
  echo $e->getMessage();
}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板