2012-12-20 12 views
6

ho ottenuto un tavolo con 4 campi:java SQL INSERT

id, int (11), e-mail automatica increament, varchar (32) passano, VARCHAR (32) DATE_CREATED, data

La mia domanda è come dovrebbe essere la mia domanda? Significa che non è necessario inserire il primo valore in id perché è l'incremento automatico ma devo inserire tutti i valori.

risposta

6

In SQL è possibile specificare quali colonne si desidera impostare nell'istruzione INSERT:

INSERT INTO table_name(email, pass, date_created) VALUES(?, ?, ?) 
0

Utilizzo dei parametri- tsql; (meglio passare i valori dei parametri, piuttosto che come stringhe)

Insert into [YourTableName] (email, pass, date_created) 
values (@email, @pass, @date_created) 
2

È possibile inserire nel formato

INSERT INTO YourTable (Your Columns) VALUES (Your Values) 

Così, per esempio

INSERT INTO Test_Table (email, pass, data_created) VALUES ('[email protected]', 'pass', to_date(string, format)) 
10

Prima di tutto, spero che tu stia usando PreparedStatements.

Supponendo di avere un oggetto denominato conn Connection e due stringhe e-mail e la password ...

PreparedStatement stmt = conn.prepareStatement("INSERT INTO table_name(email, pass, date_created) VALUES (?, ?, ?)"); 

stmt.setString(1, email); 
stmt.setString(2, password); 
stmt.setDate(3, new Date()); 

stmt.executeUpdate();