2015-01-22 3 views
0

Я пытаюсь выполнить следующую команду через прямое выполнение sql, и она отлично работает без ошибок, но на самом деле она не работает.Вставить в .... select query return blank

INSERT INTO log_inventory(CREATED_TIME, PRODUCT_ID, LOG_INV_CHANGE, LOG_INV_ACTION, LOG_INV_NUM_HISTORY, USER_ID) 
SELECT now(), p.PRODUCT_ID, p.PRODUCT_INVENTORY, 'Manual Inventory Override', 0, 1 
FROM product AS p WHERE p.PRODUCT_INVENTORY != 0; 

Выбор: запрос работает, потому что если я бегу, что отдельно, он возвращает все строки, мне нужно, но вставка часть не работает. Я что-то упускаю?

+0

Что клиента вы тестирования это? Синтаксис правильный. –

+0

InnoDB Mysql, выполняющий sql-запрос внутри phpmyadmin и не обнаруживает ошибок. – Andrew121007

+0

Это одна из тех вещей, где вам просто нужно выполнить четырехкратную проверку того, что вы работаете с правильным подключением db, и в таблице есть строки. Есть ли в целевой таблице несколько строк или она пуста? –

ответ

1

Предположив запрос имеет результаты, попробуйте это:

INSERT INTO log_inventory(CREATED_TIME, PRODUCT_ID, LOG_INV_CHANGE, LOG_INV_ACTION, LOG_INV_NUM_HISTORY, USER_ID) 
(
    SELECT now(), p.PRODUCT_ID, p.PRODUCT_INVENTORY, 'Manual Inventory Override', 0, 1 
    FROM product AS p 
    WHERE p.PRODUCT_INVENTORY != 0 
); 

Надежда, что помогает

+0

Он работал все время, идем, что я делаю неправильно. Поскольку ваш комментарий заставил меня попробовать еще раз, я помету его, как ответ, извините! – Andrew121007