标签: longtext

当每个条目都适合中等文本大小的字段时,使用MySQL长文本大小的字段有什么缺点?

当每个条目都适合中等文本大小的字段时,使用MySQL长文本大小的字段有什么缺点?

我之所以要问的原因是因为我有一些长文字大小的字段,最近意识到它们太大了,但后来因为"有什么危害?"而激励自己做出微小的变化.因此问题.

mysql comparison longtext

28
推荐指数
1
解决办法
2万
查看次数

限制SELECT结果中longtext字段的长度

我正在使用命令行界面(不是GUI客户端)在MySQL中的表上执行SELECT查询:

SELECT*FROM blog_entry;

blog_entry的一个字段是'longtext'类型,是一段很长的文本,当结果显示在我的终端中时,行的显示需要多行.这导致显示器的丑陋混乱,其中列不容易看到.我可以在SELECT查询中使用哪种技术来限制每个字段显示的字符数,以便打印的行结果不会溢出到新行?

如果您需要澄清,请告诉我 - 我会做出回应

mysql sql longtext

26
推荐指数
4
解决办法
5万
查看次数

使用gettext翻译较长的文本(视图和电子邮件模板)

我正在开发一个多语言的PHP Web应用程序,我有很长的( - )文本,我需要用gettext进行翻译.这些是电子邮件模板(通常很短,但仍有几行)和视图模板的一部分(较长的描述性文本块).这些文本将包括一些简单的HTML(强调粗体/斜体,可能是这里或那里的链接).模板是PHP脚本,其输出被捕获.

问题是gettext对于处理较长的文本似乎非常笨拙.较长的文本通常会比短文本有更多的变化 - 我可以更改msgid并确保在所有翻译中更新它(当msgid很长时可能是很多工作并且非常容易出错),或者我可以保留msgid保持不变并仅修改翻译(这会在模板中留下误导性的过时文本).另外,我已经看到了反对在gettext字符串中包含HTML的建议,但是避免它会将一个自然文本分成很多块,这将是翻译和重新组合的更大噩梦,我也看到了建议不必要的将gettext字符串拆分成单独的msgids.

我看到的另一种方法是完全忽略这些较长文本的gettext,并为每个语言环境分离外部子模板中的那些块,并且只包括当前语言环境的那个.缺点是我将gettext .po文件和位于完全不同位置的单独模板之间的转换工作分开.

由于此应用程序将在未来用作其他应用程序的起点,因此我试图提出长期的最佳方法.在这种情况下,我需要一些关于最佳实践的建议.你是如何实施类似案件的?什么结果发挥作用,结果是一个坏主意?

email templates localization gettext longtext

13
推荐指数
2
解决办法
2761
查看次数

JPA:"列太长的数据"不会改变

我的一个实体Machinery有一个String叫做的财产notes.JPA 2-Hibernate为我生成模式,在我的例子中,RDBMS是MySQL.

notes是作为VARCHAR(255)列创建的,这是正确的.

用户开始创建记录并且所有工作都完美无缺,但随后一些用户会收到臭名昭着的Data too long for column "notes"错误.

那个领域没有足够的空间供用户的机器笔记!好的,没问题.让我们改变架构!

所以,我打开我的实体类并将我的属性更改为:

@Column(length=1000000)
@Lob
private String notes;
Run Code Online (Sandbox Code Playgroud)

顺便persistence.xml说一句,我声明:

<property name="hibernate.hbm2ddl.auto" value="update" />
Run Code Online (Sandbox Code Playgroud)

应用程序重启后,我很高兴Hibernate正在改变我的notes专栏LONGTEXT(对我来说已经足够了).

所以我首先尝试使用我的应用程序来创建一个新的"长期记录"记录,我仍然是错误"数据太长",虽然LONGTEXT现在是.

然后,我尝试INSERT从MySQL命令行做一个原始的,它的工作原理!我可以在该字段中插入长音符!

最后,我DROP在我的本地/分期DB模式,改变hibernate.hbm2ddl.autopersistence.xmlcreate和它的作品.

JPA是否仍然认为它是一个VARCHAR?它是否有某种缓存或存储架构信息的某个位置?

显然,我不能放弃我的生产数据库.那么,我该怎么做才能重置或更改列类型?

我正在使用JBossAS7 JPA 2-Hibernate.

hibernate jpa longtext

13
推荐指数
4
解决办法
4万
查看次数

如何在Android上的首选项中处理长文本?

背景

我正在创建一个具有一些设置的应用程序,我想使用内置的PreferenceActivity或PreferenceFragment来完成工作

问题

一些偏好有一个很长的标题,我无法缩短,而且我认为如果我本地化应用程序(翻译成多种语言),我将面临同样的问题(例如在德语中,有时会有很长的单词).

你在这种情况下得到的只是文本的开头,然后是"......"(或更少的点,这对btw没有多大意义).

例:

在此输入图像描述

我试过的

我知道PreferenceActivity从ListActivity扩展,所以我可以将其适配器更改为我想要的任何东西,但这将删除它的工作方式.

我也知道我可以从每个类型的首选项类扩展,使用"onCreateView"方法来引用创建的视图,然后访问它的子类,但这很奇怪,不是吗?我的意思是,它几乎就像假设它永远不会改变它的外观.

编辑:这是我尝试过的示例代码:

从每个首选项类扩展,并在每个首选项中使用:

...
@Override
protected View onCreateView(final ViewGroup parent)
  {
  final View view=super.onCreateView(parent);
  ViewUtil.handlePreferenceTitleTextView(view);
  return view;
  }
...

//ViewUtil.java :

private void handlePreferenceTitleTextView(final View v)
  {
  final TextView titleTextView=(TextView)v.findViewById(android.R.id.title);
  if(titleTextView!=null)
    titleTextView.setSingleLine(false);
  }
Run Code Online (Sandbox Code Playgroud)

它有效,但我不认为这是推荐的,因为Google可能会改变首选项视图的工作方式.

这个问题

如何在Android上的首选项标题中处理长文本?

是否有可能使它具有椭圆形/选框(以便它将有一个动画来显示所有内容)?或者也许自动适合字体大小?或者将其设置为自动换行?还是一个水平scrollView,允许用户滚动阅读文本的其余部分?

是否可能有如何处理此类案件的惯例?也许长按一下可以看到整个文本的吐司/对话框?

android textview longtext preferenceactivity android-preferences

12
推荐指数
2
解决办法
3065
查看次数

Twig中的输出数组

我试图从数据库输出一个数组到屏幕.在我的实体中:

/**
 * @ORM\Column(type="array", nullable=true)
 */
private $category;
Run Code Online (Sandbox Code Playgroud)

在我的树枝模板中:

{% for category in user.profile.category %}
    {{ category }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

错误: Array to string conversion in ...

我的错误在哪里?

arrays longtext symfony doctrine-orm twig

11
推荐指数
3
解决办法
5万
查看次数

SQL错误1406列的数据太长

我试图在MySQL中执行下面的查询,但每次都得到SQL错误1406数据太长时间的列错误.列数据类型是longtext.有任何想法吗?

UPDATE `my_db`.`my_table` SET `content` = '<div id="primaryContent"><div id="offices_map"></div><!-- #offices_map --><div id="offices_mapControlPanel" class="cf"><ul id="offices_continentLinkList"><li><a href="#" rel="Africa">AFRIQUE</a></li><li><a href="#" rel="Asia">ASIE</a></li><li><a href="#" rel="Australasia">AUSTRALASIE</a></li><li><a href="#" rel="Europe" id="offices_europeLink" class="current">EUROPE</a></li><li><a href="#" rel="NorthAmerica">AMERIQUE DU NORD</a></li><li class="last"><a href="#" rel="SouthAmerica">AMERIQUE DU SUD</a></li></ul><ul id="offices_mapLegend"><li id="offices_mapLegendRedPointer">Bureaux Panavision</li><li id="offices_mapLegendYellowPointer">Agents Panavision</li></ul></div><!-- #offices_mapLegend --><div id="offices_ownedOfficesContactDetails" class="cf"><h2>Bureaux Panavision</h2><ul class="cf"><li class="first"><strong>Panavision Greenford</strong> - pour l''Europe et l''Afrique - <a href="#" id="offices_linkPanavisionGreenford">D&#233;tails</a></li><li>Panavision Prague - <a href="#" id="offices_linkPanavisionPrague">D&#233;tails</a></li><li>Panavision Manchester - <a href="#" id="offices_linkPanavisionManchester">D&#233;tails</a></li><li>Panavision Alga &amp; Cinecam - <a href="#" id="offices_linkPanavisionAlga">D&#233;tails</a></li><li>Panavision Rh&ocirc;ne-Alpes - <a href="#" id="offices_linkPanavisionRhoneAlpes">D&#233;tails</a></li><li>Panavision Marseille - <a …
Run Code Online (Sandbox Code Playgroud)

mysql longtext

8
推荐指数
2
解决办法
6万
查看次数

BLOB/TEXT列'bestilling'用于密钥规范而没有密钥长度

我正在尝试建立一个订单系统,但我现在被困住了.在mysql tabel中,我在名为"bestillinger"的列中使用varchar(255),但它只能存储255个字符.所以我搜索了一下,并记得我可以使用longtext或只是文本,但现在当我尝试这样做时,我得到一个错误说:

#1170 - BLOB/TEXT column 'bestilling' used in key specification without a key length
Run Code Online (Sandbox Code Playgroud)

我试图在这里和谷歌搜索,但我没有运气.

我的MySQL表格是:

CREATE TABLE IF NOT EXISTS `bestillinger` (
  `id` int(11) NOT NULL,
  `bestilling` TEXT NOT NULL PRIMARY KEY,
  `accepted` varchar(255) DEFAULT NULL,
  UNIQUE KEY `id_bestilling` (`id`,`bestilling`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

我使用UNIQUE KEY因为我在PHP部分使用"ON DUPLICATE KEY UPDATE".但是不要介意.

提前致谢.

mysql text key longtext

8
推荐指数
2
解决办法
5万
查看次数

EditText ellipsize(三个点......)

不幸的是,我无法为EditText工作进行ellipsize.当文字太长时,甚至可以在文本的末尾加上三个点?它适用于TextiView,但不适用于EditText.有些想法?

 android:id="@+id/ed_email_personalInfo"
 android:layout_width="match_parent"
 android:layout_height="55dp"
 android:background="@color/transparent"
 android:ellipsize="end"
 android:ems="10"
 android:hint="@string/email"
 android:inputType="textEmailAddress"
 android:maxLength="64"
 android:paddingLeft="10dp"
 android:paddingRight="10dp"
 android:singleLine="true"
 android:textColorHint="@color/col9a9a9a"
 android:textSize="15.7sp"
Run Code Online (Sandbox Code Playgroud)

forms android longtext android-edittext

8
推荐指数
4
解决办法
2万
查看次数

在longtext字段上准备好的mysqli select语句将返回空白

我有一个运行良好的数据库查询功能 - 除了我遇到了mysqli预处理语句和longtext字段显然已知的问题.即使通过phpMyAdmin运行查询工作正常,longtext字段总是空的,会发生什么.根据http://www.workinginboxershorts.com/php-mysqli-returns-empty-variables-from-longtext-column,将数据类型切换为文本可以解决问题.然而,在我的情况下,我真的更愿意离开这个领域,因为我可以预见这个额外空间有价值的时间.

我正在使用参数化查询,这显然是问题所在.这是我的功能:

// Bind results to an array
// $stmt = sql query, $out = array to be returned
function stmt_bind_assoc (&$stmt, &$out) {
  $data = mysqli_stmt_result_metadata($stmt);
  $fields = array();
  $out = array();

  $fields[0] = $stmt;
  $count = 1;

  while($field = mysqli_fetch_field($data)) {
    $fields[$count] = &$out[$field->name];
    $count++;
  }    
call_user_func_array('mysqli_stmt_bind_result', $fields);
}

// DB Query
// $query = SQL query, $params = array of parameters, $rs = whether or not a resultset is expected, $newid = whether …
Run Code Online (Sandbox Code Playgroud)

php mysqli prepared-statement longtext

7
推荐指数
1
解决办法
3798
查看次数