如何在'SELECT'语句中使用'IF'并在mysql上使用insert

时间:2018-02-20 13:00:30

标签: mysql

我的桌子是

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('stuff')附近使用正确的语法。

以及如何创建正确的select with condition then insert? 谢谢

1 个答案:

答案 0 :(得分:0)

我认为不可能像这样编写插入语句。 你可以这样做 -

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');