Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

inserir em select no MySQL com JDBC


Foi devido a um erro em SELECT .. declaração.
A declaração modificada é:
INSERT INTO vips( memberId, gotten, expires )  
   SELECT name, NOW(), DATE_ADD( now(), INTERVAL 1 MONTH )
    FROM members WHERE id = ?
  1. Você não precisa de VALUES palavra-chave ao inserting com um select .
  2. Você usou um DATEADD errado sintaxe da função. A sintaxe correta é Date_add( date_expr_or_col, INTERVAL number unit_on_interval) .

Você pode tentar sua instrução de inserção conforme corrigida abaixo:
INSERT INTO vips( memberId, gotten, expires )  
   SELECT name FROM members
     WHERE id = ?, NOW(), DATE_ADD( now(), INTERVAL 1 MONTH )

Referir-se:
  1. INSERT ... SELECT Syntax
  2. DATE_ADD(data,INTERVAL unidade expr)