【问题标题】:Special Characters in table name in sqlite database [duplicate]sqlite数据库中表名中的特殊字符[重复]
【发布时间】:2016-07-30 14:13:53
【问题描述】:

我正在创建一个 android 应用程序,其中以电子邮件(例如:abcd@efg.com)作为表名动态创建表。后来才知道表名不能有“@”之类的特殊字符。
请建议我一种方法可以创建带有“@”和“。”等特殊字符的表格。在表名中。

【问题讨论】:

  • 这是sqlite 还是mysql?它目前被标记为两者。
  • 我不确定您为什么认为每个电子邮件地址都有一个表格是合适的解决方案。即使是,也要使用受支持的表名(按顺序或随机生成),并有一个将电子邮件地址映射到表名的表。
  • @Mureinik:它的 SQLite。你有解决问题的办法吗?

标签: android sqlite android-tablelayout


【解决方案1】:

评论太长了。简短的回答是 SQLite 支持双引号和方括号来转义标识符。

但是,正确的答案是我无法想象为什么要为每封电子邮件创建一个单独的表格。电子邮件地址通常是实体的属性,因此是列。即使一个电子邮件地址代表一个实体本身,您也希望将多封电子邮件存储在一个表中,并将电子邮件作为主键。

如果出于某种原因,您需要临时表来为个别用户进行某些处理,请使用create temporary table。

【讨论】:

    【解决方案2】:

    See this

    基于上面的链接,你可以使用

    `

    围绕电子邮件地址。 但正如人们所说,这是非常糟糕的做法。

    【讨论】:

      猜你喜欢
      • 2018-08-17
      • 2012-10-04
      • 1970-01-01
      • 2012-07-30
      • 1970-01-01
      • 2011-02-15
      • 2016-05-16
      • 2016-04-23
      • 2013-08-04
      相关资源
      最近更新 更多