sql >> Base de Datos >  >> RDS >> Mysql

insertar en seleccionar en MySQL con JDBC

Fue por error en SELECT .. declaración.
La declaración modificada es:

INSERT INTO vips( memberId, gotten, expires )  
   SELECT name, NOW(), DATE_ADD( now(), INTERVAL 1 MONTH )
    FROM members WHERE id = ?
  1. No necesita VALUES palabra clave al inserting con un select .
  2. Usaste un DATEADD incorrecto sintaxis de la función. La sintaxis correcta es Date_add( date_expr_or_col, INTERVAL number unit_on_interval) .

Puede probar su declaración de inserción como se corrige a continuación:

INSERT INTO vips( memberId, gotten, expires )  
   SELECT name FROM members
     WHERE id = ?, NOW(), DATE_ADD( now(), INTERVAL 1 MONTH )

Consulte:

  1. INSERT... SELECT Sintaxis
  2. DATE_ADD(fecha,INTERVALO unidad expr)