как избежать избыточности при вставке в базу данных при утилизации с использованием nodejs и mysql - PullRequest
0 голосов
/ 15 марта 2012

Я разрабатываю один, используя утилиту nodejs и утилиту mysql. Я хочу хранить детали в базе данных MySQL. Я написал запрос, который успешно сохраняется, и он также проверяет избыточность, если мы снова запустим скрипт. Если в таблице нет данных (пустая таблица), она не проверяется на избыточность. Все данные сохраняются в базе данных.

Код, который я написал, чтобы избежать дублирования и вставить в таблицу.

mysql.query(
    'select id, name from ' + product_details + ' where name = "'+$name+'"',                                                             
    function(err, result, fields) {
        if (err) throw err;
        else {
            var i;
            for (i in result) {
                var product = result[i];
                if(product.id>0){
                }
            }
            if(i==undefined){
                mysql.query('insert into '+ product_details +' (name) values ("' + $name + '")',
                    function selectCb(err, results, fields) {
                        if (err) throw err;
                        else {
                            console.log("inserted");
                    }
            });
        }
    }
});

Пожалуйста, помогите мне выйти из этой проблемы. Я новичок в пересмотре nodejs. Пожалуйста, помогите мне. Заранее спасибо. ** ОБНОВЛЕНИЕ **

Спасибо, пользователь1027167. Я попробовал ваше решение и решил проблему. Но теперь происходит ошибка mysql, тогда выполнение скрипта останавливается, но я хочу, чтобы скрипт продолжал свое выполнение, пропуская (оставляя) эту деталь для сохранения в базе данных. Как это сделать, пожалуйста, помогите мне

1 Ответ

1 голос
/ 15 марта 2012

вы должны получить ошибку, подобную этой:

mysql.query('insert into '+ product_details +' (name) values ("' + $name + '")',
    function errorhandler(err, results, fields) {
        if (err)
        {
            console.log("name is not unique");                
            // do something else
        }
    }
});

Так что не стоит его бросать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...