Дай mysql ошибку. Я не силен в js. Но по моему у тебя просто пустая строка. Ты не проверяешь на существование ссылке перед записью.
Может как-то так:
var request = require('sync-request');
var cheerio = require('cheerio');
var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'prsr'
});
var baseUrl = 'https://en.wikipedia.org';
var startUrl = 'https://en.wikipedia.org/wiki/Category:Video_games_with_3D_graphics';
var res = request('GET', startUrl);
var $ = cheerio.load(res.getBody());
$('#mw-pages').find('.mw-category-group').each(function (index) {
var fullUrl = baseUrl + $(this).find('a').attr('href');
var data = parsePage(fullUrl);
if (data) {
connection.query('INSERT INTO games SET ?', data, function (err, result) {
if (err) throw err; // выкидывает ошибку здесь
console.log(result.insertId);
}
});
});