我嘗試在資料庫中插入專案時使用 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粉6676492532024-03-30 00:46:00
當您設定的條件計算結果為 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(); }