Из моего приложения nodejs я запускаю эту строку:
return models.sequelize.query("INSERT INTO \"DelegateUserLinks\" VALUES
(" + id + "," + _user.id + ", '2019-01-10 13:06:41.920', '2019-01-10
13:06:41.920')", function(err){
return Promise.reject(err);
});
Это не удалось. Я не очень понимаю, почему. При чтении журнала ошибок ошибка имеет код 22P02
.
Как я понимаю, код ошибки означает, что произошла ошибка при преобразовании типа данных в целое число.
Но я не вижу, что у меня возникла эта проблема (глядя на запрос). Сам запрос (напечатанный в журнале ошибок) мне кажется вполне подходящим:
INSERT INTO \"DelegateUserLinks\" VALUES (10,677, '2019-01-10 13:06:41.920', '2019-01-10 13:06:41.920')"
Если проблема приводится от типа данных к целому числу, я вижу, что числа 10
и 677
записаны в запросе как чистые целые числа. Так в чем же проблема? Я также жестко кодирую даты, чтобы убедиться, что проблема не в этом. Это полный журнал ошибок:
{"name":"SequelizeDatabaseError","parent":{"name":"error","length":117,"severity":"ERROR","code":"22P02","position":"49","file":"numutils.c","line":"104","routine":"pg_atoi","sql":"INSERT INTO \"DelegateUserLinks\" VALUES (10,677, '2019-01-10 13:06:41.920', '2019-01-10 13:06:41.920')"},"original":{"name":"error","length":117,"severity":"ERROR","code":"22P02","position":"49","file":"numutils.c","line":"104","routine":"pg_atoi","sql":"INSERT INTO \"DelegateUserLinks\" VALUES (10,677, '2019-01-10 13:06:41.920', '2019-01-10 13:06:41.920')"},"sql":"INSERT INTO \"DelegateUserLinks\" VALUES (10,677, '2019-01-10 13:06:41.920', '2019-01-10 13:06:41.920')","error@context":{}}