【问题标题】:MySQL: Can't insert '&' in a columnMySQL:无法在列中插入“&”
【发布时间】:2015-07-10 09:09:36
【问题描述】:

我要从 Oracle 转到 MySQL。 进行一些数据迁移。

但是

我遇到了一些关于包含“&”字符的字符串的问题... 无法在 MySQL 的表中获取它。

例子:

create table tmp_a(inforad varchar(100));

没有按我的意愿工作......

insert into tmp_a values('Me, myself & I');

没有按我的意愿工作......

insert into tmp_a values('Me, myself \& I');

有什么建议吗?!

我不想通过 Java、PHP、C 或其他任何东西,只是核心 SQL :)

【问题讨论】:

  • 当它“不能按我的意愿工作”时究竟会发生什么。
  • 存储 & 应该没问题 - 它不是 MySQL 的特殊字符 - 你发现什么问题
  • 好吧,它停止处理插入语句并希望输入变量'I' ...我只是希望它进行插入并存储像'Me, 我自己和我'这样的字符串
  • 听起来你正在使用一个奇怪的客户端或 API。正如 PaulF 指出的那样,& 不是字符串文字中的特殊字符(无需转义它或任何东西)。当我尝试时,您的示例运行良好。
  • 这种行为似乎是 Oracle 的。您是否试图无意中插入 Oracle 数据库?另外,您使用的是什么 SQL 程序?

标签: mysql sql string special-characters


【解决方案1】:

应该没问题

快速查看 MySQL 文档中的特殊字符:https://dev.mysql.com/doc/refman/5.0/en/string-literals.html

字符串字面量特殊字符转义序列

转义序列 | 序列表示的字符

\0 |一个 ASCII NUL (0x00) 字符。

\' |单引号(“'”)字符。

\" | 双引号 (“"”) 字符。

\b |退格字符。

\n |换行符(换行符)。

\r |回车符。

\t |制表符。

\Z | ASCII 26 (Control+Z)。请参阅表格后面的注释。

\ |反斜杠(“\”)字符。

\% |一个人物。请参阅表格后面的注释。

\_ |一个人物。请参阅表格后面的注释。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-09
    • 2018-07-08
    • 2020-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多