我想做个小留言板,用mysql数据库.
例如我在mysql里创建note表:
CREATE TABLE note
(
id int not null auto_increment primary key , 
title varchar(20) not null ,
author varchar(20) not null ,
content varchar(50) not null 
) ;然后网页上有两个输入和显示的列表,表1要求输入title,author,和content;表2显示留言的序列号id,title,author和content
请问在mysql里怎么处理id才能只填写title,author,和content而id自动增加呢,也就是相当于oracle的nextVal功能!谢谢
我随便乱写了一个,但是不对,大家能帮我改正下PreparedStatement pstmt = null;
sql = "insert into note values(id.nextVal,?,?,?)";
try {
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,title);
pstmt.setString(2,author);
pstmt.setString(3,content);
pstmt.executeUpdate();

解决方案 »

  1.   

    在oracle中的序列才用seq.nextVal的,
    你的是mysql,自增列就不用在sql语句中写了
      

  2.   


    CREATE TABLE note (
      id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
      title VARCHAR(20) NOT NULL DEFAULT '',
      author VARCHAR(20) NOT NULL DEFAULT '',
      content VARCHAR(50) NOT NULL DEFAULT '',
      PRIMARY KEY(`id`)
    )
    ENGINE = InnoDB;
      

  3.   

    不是设了auto_increment 了么??
      

  4.   

    sql = "insert into note(title,author,content) values(?,?,?)";
        try {
        pstmt = conn.prepareStatement(sql);
        pstmt.setString(1,title);
        pstmt.setString(2,author);
        pstmt.setString(3,content);
        pstmt.executeUpdate();
     
     ok!