как вернуть вставленные данные из mysql с помощью knex js? - PullRequest
0 голосов
/ 11 января 2020

я изучаю knex js, и это мой код:

await knex('vendor_message').insert(data).returning(['message_id',
          'type',
          'content',
          'created_on',
          'last_update_on',
          'vendor_email']);

Я ожидал, что он возвратит эти поля из БД примерно так:

[ 
 {
  'message_id': 'asdsd',
  'type':2,
  'content':'adddd',
  'created_on':'xxxx',
  'last_update_on':'xxxx',
  'vendor_email':'xxx@gmail.com'
 }
]

, но он возвращает только идентификатор: например:

[687]

Я не хочу возвращать вставленные аргументы, я хочу получить его из БД

1 Ответ

0 голосов
/ 12 января 2020

returning не поддерживается MySQL.

Используется PostgreSQL, MS SQL и Oracle В базах данных возвращаемый метод указывает, какой столбец должен быть возвращен методами вставки и обновления.

Просто используйте insert id для извлечения новой строки.

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