MySQL Вставить, если выбрано значение> x - PullRequest
0 голосов
/ 06 апреля 2011

Я пытаюсь написать вставку MySQL, которая вставляет только на основе результата запроса select. Я нашел некоторую информацию об использовании логики if-then-endIf в запросах, но мне не повезло заставить ее работать. Тогда общая идея, которую я пытаюсь реализовать, выглядит следующим образом:

if
 result of select is > 0
 perform insert and select true
 else select false
endIf

Я хочу запустить его таким образом, так как кажется, что это самый простой способ не вставлять больше предопределенного предела.

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

Спасибо.

EDIT

на случай, если кому-то интересно, вот что я закончил:

insert into users_to_classes select ? , ?, 4 from (select class_id, count(*) as students from users_to_classes where participation_level=4 group by class_id) as numUtC, classes where numUtC.class_id=classes.class_id and classes.class_id=? and classes.spaces - ifnull(numUtC.students,0) > 0

где оно используется как подготовленное для mysqli утверждение.

Еще раз спасибо за помощь

1 Ответ

4 голосов
/ 06 апреля 2011

Вы можете попробовать это с некоторыми соответствующими изменениями:

INSERT INTO <destination_table>
   SELECT <values>
   FROM <source_table>
   WHERE <value> > x

Небольшое редактирование, чтобы сделать его более понятным.

...