Я пытаюсь вставить в мою идею таблицы новую запись, основанную на значениях, которые я получаю из POST. Сложность в том, что мне нужно заполнить базы идентификаторов внешних ключей на основе моего имени значения. Мои значения действительны, я уверен, проблема в утверждении.
Это для приложения Node.js, работающего с пакетом mysql из NPM (https://www.npmjs.com/package/mysql).
Мои столбцы: idea.name, idea.short_description, idea.description, idea.difficulty и category_id.
Утверждение, которое я хочу сделать, это: «ВСТАВЬТЕ В МНЕ Идею SET name = '', short_description = '', description = '', затруднение = '', category_id = (ВЫБЕРИТЕ идентификатор ИЗ категории, ГДЕ имя = '')"
Проблема в части выбора, потому что я попытался прикрепить номер по умолчанию (1), и он работает.
Мне нужно разобраться с пакетом mysql:
db.query('INSERT INTO idea SET name = ?, short_description = ?, description = ?, difficulty = ?, category_id = 1', [name, short_description, description, difficulty, category_id], (err, result) => {
if (err) throw err
cb(result)
})
Я бы хотел что-то похожее на это:
db.query('INSERT INTO idea SET name = ?, short_description = ?, description = ?, difficulty = ?, category = (SELECT id FROM category WHERE name = ' + category ')', [name, short_description, description, difficulty, category], (err, result) => {
if (err) throw err
cb(result)
})
Я ожидаю получить свой идентификатор внешнего ключа благодаря моему имени внешнего ключа. Поэтому я пытаюсь найти category.id с category.name.
Заранее спасибо!