我正在尝试将一些字符串值从Java转换为MySQL数据类型,我尝试使用数据类型varchar
,但我传递的值是网页的HTML代码,而且它们太大了数据类型。如果我有一个字符串,那是一个HTML代码网页,我想将它存储在MySQL数据库中,我可以使用哪种数据类型?我尝试将MySQL中我的列的数据类型更改为“TEXT”和其他数据类型,但我得到此错误,我认为这是一个问题,因为我试图插入一个无法插入到这些数据类型的字符串值,任何帮助都会不胜感激:
Query error:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException
答案 0 :(得分:0)
这里有两个问题要解决。
对于数据类型,您可以根据数据大小使用TEXT,BLOB或此链接的任何变体。参考 MYSQL Documentation on TEXT and BLOB data types
如果您尝试将HTML内容保存到数据库,那么由于字符串中的引号'
和双引号"
,您生成的SQL很可能会获得不正确的值。
这样可以解决问题。 您必须使用参数来传递数据。
String htmlValue = "<html> <....... ";
String sql = "insert into my_table (html_content) values( ? )";
PreparedStatement stmt = connection.prepareStatement( sql );
stmt.setString( 1, htmlValue );
stmt.executeUpdate();