sql >> Database teknologi >  >> RDS >> Mysql

indsæt i vælg i MySQL med JDBC

Det skyldtes fejl i SELECT .. erklæring.
Ændret erklæring er:

INSERT INTO vips( memberId, gotten, expires )  
   SELECT name, NOW(), DATE_ADD( now(), INTERVAL 1 MONTH )
    FROM members WHERE id = ?
  1. Du behøver ikke VALUES nøgleord ved inserting med en select .
  2. Du brugte en forkert DATEADD funktions syntaks. Den korrekte syntaks er Date_add( date_expr_or_col, INTERVAL number unit_on_interval) .

Du kan prøve din insert-sætning som korrigeret nedenfor:

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

Se:

  1. INDSÆT ... VÆLG syntaks
  2. DATE_ADD(dato,INTERVAL udtr enhed)



  1. Implementering af MariaDB-replikering for høj tilgængelighed

  2. Sletter post med laveste ID

  3. SQL Server - Bedste måde at få identitet for indsat række?

  4. Hvordan kan jeg få MySQL-log til at planlægge begivenheder?