Como Funciona o auto-increment do MYSQL

Bom Pessoal,

Estou querendo gerar automaticamente as id’s de uma tabela no mysql sempre a partir do último registro

Só que tenho algumas dúvidas, qual comando SQL devo usar pra gerar a id automaticamente no código abaixo:

try {
					
					String SQL = "insert into parametroavaliacao (parametroavaliacaoid,avaliacaoid,qtdtotalquestoes,"+
								 "qtdpeso1,qtdpeso2,qtdpeso3,tempoavaliacao,notaminima,datainicio,datafim,turma)"+
								 " VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
					conn = this.conn;
					ps = conn.prepareStatement(SQL);
					
					ps.setInt(1, parametros.getId());
					ps.setInt(2, parametros.getAvaliacao().getId());
					ps.setInt(3, parametros.getQtdTotalQuestoes());
					ps.setInt(4, parametros.getQtdPeso1());
					ps.setInt(5, parametros.getQtdPeso2());
					ps.setInt(6, parametros.getQtdPeso3());					
					ps.setInt (7, parametros.getTempoAvaliacao());
					ps.setFloat (8, parametros.getNotaMinima());
					ps.setDate (9, parametros.getDataInicio());
					ps.setDate (10, parametros.getDataFim());
					ps.setString (11, parametros.getTurma().getDescricao());
					ps.executeUpdate( );
					System.out.println("DAO Salvar aluno OK");
		
				} catch (SQLException sqle) {
					throw new  
					DAOException("Erro ao inserir dados "+ sqle);
				} finally {
					FabricaConexao.closeConnection(conn, ps);
		
				}
	}

As colunas “parametroavaliacaoid,avaliacaoid” não serão informadas pelo usuário, então o que devo fazer pra que elas sejam geradas automaticamente no banco??

Valeu, aguardo sua resposta

O melhor modo é setar a coluna id da sua tabela como auto-increment, assim o incremento fica sob responsabilidade do banco.

Usando esse recurso, toda vez que você inserir uma linha o banco gera uma id.

[quote=cesarpereira538]O melhor modo é setar a coluna id da sua tabela como auto-increment, assim o incremento fica sob responsabilidade do banco.

Usando esse recurso, toda vez que você inserir uma linha o banco gera uma id.

[/quote]

Como ficaria o código SQL citado? Pois no banco já está definido auto increment pra essas colunas

Na variavel que você quiser inserir a ID AUTO INCREMENT, voce simplesmente nao vai lista-la no VALUES, vai deixar com o sistema.

coloca a variavel como SERIAL OU INT AUTOINCREMENT.

qlqr coisa posta o DESC da sua table aqui que te do uma maozinha!

[quote=Victor Almeida][quote=cesarpereira538]O melhor modo é setar a coluna id da sua tabela como auto-increment, assim o incremento fica sob responsabilidade do banco.

Usando esse recurso, toda vez que você inserir uma linha o banco gera uma id.

[/quote]

Como ficaria o código SQL citado? Pois no banco já está definido auto increment pra essas colunas[/quote]

CREATE TABLE xxxx (
id INT NOT NULL AUTO_INCREMENT,

PRIMARY KEY (id)
);

Resolvi meu problema assim:

Os atributo da tabela já estavam com auto increment. No código Java coloquei zero no SQL responsável por inserir os dados, assim:

[code]
try {

				String SQL = "insert into parametroavaliacao (parametroavaliacaoid,avaliacaoid,qtdtotalquestoes,"+
							 "qtdpeso1,qtdpeso2,qtdpeso3,tempoavaliacao,notaminima,datainicio,datafim,turma)"+
							 " VALUES (0, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";//com o zero, o banco auto-incrementa
				conn = this.conn;
				ps = conn.prepareStatement(SQL);
				
				
				ps.setInt(1, parametros.getAvaliacao().getId());
				ps.setInt(2, parametros.getQtdTotalQuestoes());
				ps.setInt(3, parametros.getQtdPeso1());
				ps.setInt(4, parametros.getQtdPeso2());
				ps.setInt(5, parametros.getQtdPeso3());					
				ps.setInt (6, parametros.getTempoAvaliacao());
				ps.setFloat (7, parametros.getNotaMinima());
				ps.setDate (8, parametros.getDataInicio());
				ps.setDate (9, parametros.getDataFim());
				ps.setString (10, parametros.getTurma().getDescricao());
				ps.executeUpdate( );
				System.out.println("DAO Salvar aluno OK");
	
			} catch (SQLException sqle) {
				throw new  
				DAOException("Erro ao inserir dados "+ sqle);
			} finally {
				FabricaConexao.closeConnection(conn, ps);
	
			}
}[/code]

Valeu Diego