我想使用DynamoDB創建表。我們不需要在DyamoDB中創建模式時指定所有列名稱,只需要指定主鍵(散列鍵+排序鍵[可選])。現在,如果我的表有一些其他屬性,我希望每個插入的項都存在 - 即,將NOT NULL約束添加到除鍵之外的其他屬性,那麼如何在DynamoDB中實現它?DynamoDB中的NOT NULL約束
0
A
回答
0
在DynamoDB上沒有明確提供的NotNull
約束。但是,如果您使用的是DynamoDBMapper,則可以爲該屬性提供默認值。
此外,DynamoDB API不允許添加具有空值的屬性(即空值或空字符串'')。 API確實會拋出異常。
換句話說,你不需要像RDBMS數據庫那樣定義一個約束。此外,沒有解決方法來覆蓋此功能。這個條件適用於所有的屬性,即你不能有NULL或空值的任何屬性。
實施例使用註釋來設置默認值: -
@DynamoDBAutoGeneratedDefault("default")
@DynamoDBAttribute(attributeName = "name")
public String getName() {
return name;
}
com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException: 提供的AttributeValue是空的,必須只包含所支持的 之一數據類型(服務:AmazonDynamoDBv2;狀態碼:400; 錯誤代碼:ValidationException;請求ID: 1dd8288c-7151-43d3-83d0-dbb7842d705a)
相關問題
- 1. Oracle null約束
- 2. MySQL忽略NOT NULL約束
- 3. 失敗NOT NULL約束:device_api_devicegroup.owner_id
- 4. NOT NULL約束失敗:campgrounds_campground.author_id
- 5. oracle表中約束NOT NULL的sqlloader
- 6. NOT NULL約束失敗 - django
- 7. IntegrityError:NOT NULL約束失敗:core_userprofile.user_id
- 8. Django:NOT NULL約束失敗
- 9. NOT NULL約束失敗:stories_story.url
- 10. django.db.utils.IntegrityError:NOT NULL約束失敗
- 11. SQL冗餘NOT NULL約束
- 12. NOT NULL約束失敗:news_comment.post_id
- 13. 唯一約束在NON-NULL列上的唯一約束
- 14. NOT NULL約束在go orm中失敗
- 15. MS ACCESS完整性約束違規:NOT NULL檢查約束;
- 16. 完整性約束違規:NOT NULL檢查約束
- 17. 失敗的Django NOT NULL約束:shop_product.user_id
- 18. Django的IntegrityError NOT NULL約束失敗
- 19. MySQL的NOT NULL約束不起作用
- 20. Django的NOT NULL約束失敗:app_subject.created
- 21. NOT NULL約束失敗的錯誤
- 22. UPDATE上的SQL NULL約束只有
- 23. 的web2py:IntegrityError(「NOT NULL約束失敗:post.message
- 24. MyISAM存儲引擎在MySQL中的約束類似於檢查約束,而不是null約束
- 25. 在Netezza中將NOT NULL約束更改爲NULL
- 26. 唯一約束,但不包括NULL值
- 27. 將NOT NULL約束添加到列
- 28. Oracle查看force not null約束
- 29. Django:「NOT NULL約束失敗:users_investment.user_id」錯誤
- 30. 不能添加NOT NULL約束