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

Saya cuba menggunakan ConditionExpression apabila memasukkan item dalam pangkalan data tetapi ia tidak berfungsi, skrip php rosak apabila fungsi Putitem() berjalan.

Nak masukkan barang kalau tak ada.

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

Saya mencuba var_dump $response tetapi kod tersebut rosak pada fungsi di atas.

nombor bersiri Ia adalah kunci partition dan harus berfungsi seperti yang diharapkan.

Kod di bawah berfungsi dengan baik tetapi dia menggantikan item sedia ada dengan nilai baharu yang saya tidak mahu berlaku.

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

P粉132730839
P粉132730839

membalas semua(1)
P粉667649253

Apabila syarat yang anda tetapkan bernilai palsu , adakah dijangkakan anda akan kembali ke blok CondidtionCheckFailedException。尝试将代码包装在 try/catch untuk melihat sama ada ia berfungsi seperti yang diharapkan?

try {
$response = $client->putItem(array(
    'TableName' => 'tablename',
    'Item' => array(
        'serialNumber'   => array('S' => 'test123'),
        'deviceType' => array('S' => '1')
    )
));
}
catch(Exception $e) {
  echo $e->getMessage();
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan