jdbc插入数据,SQL语句设置成了int类型,但有个数据是字符类型的怎么解决

score是int类型,但插入的数据中有字符类型的数据怎么解决

String createsql = "CREATE TABLE laugh" +

            "(id SMALLINT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT," +
            "content TEXT," +
            "source VARCHAR(255)," +
            "url VARCHAR(255)," +
            "score TINYINT(4))";

String insertsql = " " +

            "insert into laugh" +
            "(content,source,url,score)" +
            "values(" +
            "?,?,?,?)";
阅读 5.1k
2 个回答

String score = "无";
可以用-1代表“无”值。将-1插入到score 字段中,一般数据库字段推荐设置为not null并且给一个默认值,不推荐使用null值。
创建表的语法稍微修改下会更好。

CREATE TABLE laugh(
            id int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
            content TEXT COMMENT '内容',
            source VARCHAR(255) DEFAULT '' NOT NULL COMMENT '来源',
            url VARCHAR(255) DEFAULT '' NOT NULL COMMENT '资源地址',
            score TINYINT(4) DEFAULT '-1' NOT NULL COMMENT '-1:代表无分数',
            PRIMARY KEY (id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

转换一下呀

preparedStatement.setInt(index, Integer.valueOf("123"));
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进