Ответ 1
Оператор INSERT
предназначен только для создания совершенно новых записей, а не для заполнения данных в существующих. Что вам нужно, это инструкция UPDATE
, которая обновляет существующую запись:
UPDATE bike SET full_day = 10 WHERE bike_type = 'mens_hybrid';
(Примечание: ниже приведена более ранняя версия этого ответа, прежде чем мне было ясно, что пытался сделать оригинальный плакат. Я оставляю это здесь, потому что несколько человек, которые первоначально ответили на этот вопрос, похоже, не замечали проблема с записью INSERT ... VALUES (...) WHERE
, что заставляет меня думать, что это объяснение может быть полезно для некоторых людей, сталкивающихся с этим вопросом.)
Это утверждение не имеет смысла. INSERT
не может принимать предложение WHERE
, потому что WHERE
относится к существующим записям, а INSERT
создает новые.
(Чтобы предотвратить потенциальную путаницу: существует такая вещь, как INSERT INTO ... SELECT ...
, где записи для вставки определяются запросом SELECT
, а не выражением VALUES
, и в этом случае запрос SELECT
может, конечно, иметь предложение WHERE
. Но ни в коем случае предложение WHERE
не относится к оператору INSERT
.)