簡體   English   中英

我有 2 個獨特的約束,我如何確定違反了哪一個?

[英]i have 2 unique constraints, how do i identify which one was violated?

在一個表中,我有 2 個唯一鍵:一個用於EMAIL `列,另一個用於PHONE NUMBER列。

當我因為 ORA-00001(違反唯一約束)而收到錯誤時,我想知道違反了哪個鍵。

例如,當我console.log()出現錯誤時,它給了我這樣的信息:

[Error: ORA-00001: unique constraint (E_GO_APP_DATABASE.E_GO_APP_USERS_UK2) violated] {
  errorNum: 1,
  offset: 0
}

但是當我使用它時,我只能使用它:

{
  errorNum: 1,
  offset: 0
}

我也可以通過其他 SQL 請求來實現,但我想知道是否有可能知道違反了哪個唯一密鑰。

代碼:

            var error = await signup.create(user);
            if(!error) {
                res.status(201).json({
                    success: true
                });
            } else if(error.errorNum == 1) {
                console.log(error);
                res.status(401).json({
                    success: false,
                    error: error
                });
            }

簽入user_cons_columnsall_cons_columns

select column_name from user_cons_columns where constraint_name = 'E_GO_APP_USERS_UK2'

演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM