Maison > Questions et réponses > le corps du texte
J'ai essayé d'utiliser ConditionExpression lors de l'insertion d'éléments dans la base de données mais cela ne fonctionne pas, le script php s'arrête lorsque la fonction Putitem() s'exécute.
Je souhaite insérer l'élément s'il n'existe pas.
$response = $client->putItem(array( 'TableName' => 'tablename', 'Item' => array( 'serialNumber' => array('S' => 'test123'), 'deviceType' => array('S' => '1') ), 'ConditionExpression' => 'attribute_not_exists(serialNumber)' ));
J'ai essayé var_dump $response mais le code tombe en panne sur la fonction ci-dessus.
serialNumber Il s'agit d'une clé de partition et devrait fonctionner comme prévu.
Le code ci-dessous fonctionne bien mais il remplace les éléments existants par de nouvelles valeurs, ce que je ne veux pas qu'il se produise.
$response = $client->putItem(array( 'TableName' => 'tablename', 'Item' => array( 'serialNumber' => array('S' => 'test123'), 'deviceType' => array('S' => '1') ) ));
P粉6676492532024-03-30 00:46:00
Lorsque la condition que vous avez définie est fausse, est-il prévu que vous reveniez au bloc CondidtionCheckFailedException
。尝试将代码包装在 try/catch
pour voir s'il fonctionne comme prévu ?
try { $response = $client->putItem(array( 'TableName' => 'tablename', 'Item' => array( 'serialNumber' => array('S' => 'test123'), 'deviceType' => array('S' => '1') ) )); } catch(Exception $e) { echo $e->getMessage(); }