Как правильно указать предложение WHERE в этом запросе SQL, написанном на PHP? - PullRequest
0 голосов
/ 14 октября 2011
$query = "INSERT INTO directory_level_one (child_categories)
    VALUES 
        ('$category_name')
    WHERE
        category = '$parent'";

В настоящее время я получаю следующую ошибку, когда добавляю часть WHERE в вышеупомянутый SQL-запрос.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE category = 'Philosophy'' at line 4

Ответы [ 6 ]

3 голосов
/ 14 октября 2011

Вы не можете иметь предложение where для оператора вставки. Вы пытаетесь обновить существующие записи базы данных? В этом случае используйте оператор Update.

3 голосов
/ 14 октября 2011

INSERT операторы не имеют предложение WHERE.

Возможно, вам нужен оператор UPDATE?

UPDATE directory_level_one
SET child_categories = 'your_category_name'
WHERE category = 'your_parent'
2 голосов
/ 14 октября 2011

То, что вы хотите сделать, это:

$query = "UPDATE directory_level_one SET child_categories='$category_name' WHERE category = '$parent'";
2 голосов
/ 14 октября 2011

, где предложение не может использоваться в INSERT-утверждении

Пожалуйста, прочитайте это, прежде чем продолжить http://dev.mysql.com/doc/refman/5.5/en/insert.html

2 голосов
/ 14 октября 2011

Вы не можете использовать предложение where с оператором вставки.

1 голос
/ 14 октября 2011

Я думаю, что вы можете изменить INSERT на UPDATE

...