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

inserisci in select in MySQL con JDBC

Era dovuto a un errore in SELECT .. dichiarazione.
La dichiarazione modificata è:

INSERT INTO vips( memberId, gotten, expires )  
   SELECT name, NOW(), DATE_ADD( now(), INTERVAL 1 MONTH )
    FROM members WHERE id = ?
  1. Non hai bisogno di VALUES parola chiave durante l'inserting con un select .
  2. Hai usato un DATEADD sbagliato sintassi della funzione. La sintassi corretta è Date_add( date_expr_or_col, INTERVAL number unit_on_interval) .

Puoi provare la tua dichiarazione di inserimento come corretto di seguito:

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

Fare riferimento a:

  1. INSERT ... SELECT Sintassi
  2. DATE_ADD(data,INTERVAL unità espr)