微科社区,轻松开发从此开始! 请登陆 免费注册

微科社区

当前位置:首页 > Java平台 > J2SE >

用SQL语句把数据插入MySQL的问题

时间:2014-04-13 19:46  浏览:努力统计中...
我用JDBC操作MySQL,程序如下: importjava.io.*; importjava.sql.*; publicclassTest9{ publicstaticvoidmain(String[]args){ Stringdriver= com.mysql.jdbc.Driver , url= jdbc:mysql://localhost:3306/test?zeroDateTimeBehavior=convertToNull ,
我用JDBC操作MySQL,程序如下:

import java.io.*;
import java.sql.*;

public class Test9 {
    public static void main(String[] args) {
        String driver="com.mysql.jdbc.Driver",
               url="jdbc:mysql://localhost:3306/test?zeroDateTimeBehavior=convertToNull",
               user="root",
               password="111";
        try{
            Class.forName(driver).newInstance();
            Connection conn=DriverManager.getConnection(url, user, password);
            if(conn!=null) {
                Statement st=conn.createStatement();
                String s="22222234X"; //系统提示这个字符串不能插入,但是把X换成数字或者去掉就可以成功插入
                                          //我研究了下,这个字符串里不能含有英文字母或其他,只能是数字
                st.executeUpdate("insert into 供应商(编号) values("+s+")");
                st.close();
                conn.close();
                System.out.println("插入成功");
            }else{
                System.out.println("连接失败");
            }
        }catch(Exception e){
            e.printStackTrace();
        }
     }
}
}

供应商"中“编号”的格式为:VARCHAR(30),并且是主键。请问为什么s字符串的内容只能是阿拉伯数字,不能掺入其他字符?

单独拿出来,只在数据库中,能不能插入;

好像是设置为主键的原因,你把主键属性删除试试

改成(少了单引号)
st.executeUpdate("insert into 供应商(编号) values('"+s+"')");

该回复于2014-04-13 17:59:30被管理员删除




    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    ------分隔线------