Как проверить идентификатор пользователя в таблице перед вставкой идентификатора пользователя и пароля в таблицы в node.js?

Я создаю приложение для Android, которое подключается к базе данных SQLDB и вставляет имя пользователя, идентификатор пользователя и пароль в таблицу. Перед вставкой в ​​​​таблицу я проверяю идентификатор пользователя, уже существующий в таблице, если нет, то мне нужно вставить. и как вызвать ответ «регистрация успешна», если он вставлен правильно, или «идентификатор пользователя уже существует» для моего приложения для Android.

Это мой код node.js:

  var express   = require('express');
app         = express();
var ibmbluemix  = require('ibmbluemix') 
var ibmdb = require('ibm_db');
var http = require('http');
var url = require('url');
var logger = ibmbluemix.getLogger();

var PORT = (process.env.VCAP_APP_PORT || 8000);
var HOST = (process.env.VCAP_APP_HOST || 'localhost');

var queryData = null;

var serviceName = 'SQLDB';

if (process.env.VCAP_SERVICES) {
var env = JSON.parse(process.env.VCAP_SERVICES);
db2 = env['sqldb'][0].credentials;
}
else{
console.error("INFORMATION FOR DB CONNECTION NOT FOUND");
}

person Santhosh S    schedule 07.05.2015    source источник
comment
Честно говоря, вам не следует добавлять идентификатор пользователя самостоятельно, разве в вашем столбце пользователя нет автоматического увеличения идентификатора? Также я действительно не понимаю, что такое ваш запрос на вставку, или я что-то упустил?   -  person Jeremy C.    schedule 07.05.2015
comment
это мой запрос на вставку: INSERT INTO USER02130.USER_DETAILS (FULL_NAME, PASSWORD, SHORT_ID) values(' + strNameTxt +', +strPasswdTxt +,+strEmailTxt +); сначала я должен проверить существование пользователя в таблице, затем я вставлю в таблицу.   -  person Santhosh S    schedule 07.05.2015
comment
Итак, вы хотите увидеть, существует ли уже short_id?   -  person Jeremy C.    schedule 07.05.2015
comment
да, сначала я должен проверить, существует ли пользователь, если нет, то я вставлю в таблицу   -  person Santhosh S    schedule 07.05.2015
comment
выберите * из таблицы, где short_id = yourvalueздесь, если это возвращает строку, ваш идентификатор пользователя уже существует, если это не так, вы можете сделать свою вставку   -  person Jeremy C.    schedule 07.05.2015
comment
Комментарий Джереми С действительно должен быть ответом, поскольку он легко отвечает на ОП.   -  person jpapejr    schedule 08.05.2015
comment
@SanthoshS у тебя все еще есть проблемы с этим?   -  person Jeff Sloyer    schedule 20.07.2015


Ответы (1)


вы должны использовать автоматически сгенерированные идентификаторы вместо их создания, например, используя автоинкремент или последовательности. В любом случае, вы можете просто использовать простой запрос, проверяющий, что идентификатор уже используется

SELECT ID FROM USER02130.USER_DETAILS WHERE ID = <ID>

и если он возвращает значение, вы можете вернуть ошибку в свое приложение, в противном случае вы можете запустить запрос на вставку INSERT INTO USER02130.USER_DETAILS () VALUES ( и вернуть идентификатор (например) с кодом успеха. Вы также можете настроить коды возврата, если хотите, и так далее.

person v.bontempi    schedule 07.08.2015