Как использовать «IF» в операторе «SELECT» с вставкой на MySQL

0

мой стол

id_stuff | kd_insert | name_stuff | date_createdd 
1        | 1         | example    | 2018-01-01

Я создаю запрос в mysql, как это

SELECT IF ((DATE_FORMAT(NOW(),'%Y-%m') > DATE_FORMAT(MAX(date_createdd),'%Y-%m')), 
(
  INSERT INTO tabless (name_stuff) VALUES ('stuff')
), 
(
 null
)
 ) FROM tabless GROUP BY id_stuff ORDER BY kd_insert

после запуска, почему я получаю некоторую ошибку, как это

Код ошибки: 1064 У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с "INTO tabless (name_stuff) VALUES (" материал ").

и как создать правильный select with condition then insert? Спасибо

  • 0
    я просто хочу использовать, если значение Now> date_created, а затем сохранить имя персонажа date_created = name
  • 0
    почему я использую select if then insert всегда ошибку, как код выше
Показать ещё 1 комментарий
Теги:

1 ответ

0

Я не думаю, что можно написать инструкцию insert. Вы можете сделать это -

SELECT
  if(
    (DATE_FORMAT(NOW(), '%Y-%m')) > DATE_FORMAT(MAX(date_createdd), '%Y-%m'),
    (@value = 'stuff'),
    null
  )
FROM
  tabless
GROUP BY
  id_stuff
ORDER BY
  kd_insert;
INSERT INTO tabless (name_stuff) VALUES ('stuff');
  • 0
    вау, подождите, я должен попробовать
  • 0
    извините, это неправильно, вы просто вставляете данные со значениями, это всего лишь материал, вы знаете код if ( (DATE_FORMAT(NOW(), '%Y-%m')) > DATE_FORMAT(MAX(date_createdd), '%Y-%m'), // this is (true), // or (false) потому что это я создаю с помощью вставки, как INSERT INTO tabless (name_stuff) VALUES ('stuff') // if true после условия или я могу вставить, как INSERT INTO tabless (name_stuff, date_createdd) VALUES (name, date_createdd) // if true get the true of value and insert the data , это то, что я имею в виду, но спасибо за написание некоторого кода
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню