我正在使用Rails的MySQL数据库.我创建了一个类型的字段string.它的长度有限制吗?类型text怎么样?
同样text可变大小,我相信使用文本对象会产生额外的成本.如果有的话,他们有多重要?
我想知道Android的SQLite实现如何处理长字符串.从sqlite的在线文档中读到,它说sqlite中的字符串限制为100万个字符.我的琴弦肯定更小.
我正在创建一个简单的RSS应用程序,在解析html文档和提取文本后,我遇到了将其保存到数据库的问题.我在数据库中有2个表,feeds和articles.从feeds表中正确保存和检索RSS提要,但是当保存到articles表时,logcat表示无法将提取的文本保存到其列中.我不知道其他列是否也有问题,在logcat中没有提到它们.
我想知道,因为文本是来自网上的一篇文章,是否有类似(",',;)等标志产生问题?Android是否会自动逃避它们,或者我必须这样做.我正在使用一种技术来插入类似于一个在记事本教程中:
public long insertArticle(long feedid, String title, String link, String description, String h1,tring h2, String h3, String p, String image, long date) {
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_FEEDID, feedid);
initialValues.put(KEY_TITLE, title);
initialValues.put(KEY_LINK, link);
initialValues.put(KEY_DESCRIPTION, description );
initialValues.put(KEY_H1, h1 );
initialValues.put(KEY_H2, h2);
initialValues.put(KEY_H3, h3);
initialValues.put(KEY_P, p);
initialValues.put(KEY_IMAGE, image);
initialValues.put(KEY_DATE, date);
return mDb.insert(DATABASE_TABLE_ARTICLES,null, initialValues);
}
Run Code Online (Sandbox Code Playgroud)
列P用于提取文本,h1,h2和h3用于页面的标题.Logcat仅报告列p是问题.该表使用以下语句创建:
private static final String DATABASE_CREATE_ARTICLES =
"create table articles( _id integer primary key autoincrement, feedid …Run Code Online (Sandbox Code Playgroud) 我在SQL数据库中提交了一个字符串,表示一个URL.有些网址很短,有些很长.我真的不知道waht是我可能遇到的最长的URL,所以为了安全起见,我会采用一个很大的值,比如256或512.
当我定义最大字符串长度时(例如使用SQLAlchemy):
url_field = Column(String(256))
Run Code Online (Sandbox Code Playgroud)
这是否占用每行的空间(存储),即使实际的字符串更短?
我假设这与实现细节有关.我正在使用postgreSQL,但我也对sqlite,mysql感兴趣.