如何从Linux终端在MYSQL中插入邮件

如何从Linux终端在MYSQL中插入邮件,mysql,linux,terminal,Mysql,Linux,Terminal,我被这件事缠住了。当我试图在mysql终端(使用linux btw)中插入时,我被发现有@(at)表达式无法插入,这是关于常规表达式还是使用自定义输入来输入这个字符 感谢@字符串对sql Server来说没有任何意义,但是一个简单的@将被视为变量引用,因此您的查询字符串很可能在语法上不正确: good: INSERT INTO yourtable (email) VALUES ('someone@example.com'); bad: INSERT INTO yourtable (email)

我被这件事缠住了。当我试图在mysql终端(使用linux btw)中插入时,我被发现有@(at)表达式无法插入,这是关于常规表达式还是使用自定义输入来输入这个字符


感谢

@
字符串对sql Server来说没有任何意义,但是一个简单的
@
将被视为变量引用,因此您的查询字符串很可能在语法上不正确:

good: INSERT INTO yourtable (email) VALUES ('someone@example.com');
bad:  INSERT INTO yourtable (email) VALUES (someone@example.com);

你能显示你运行的命令和收到的错误吗?好的,谢谢,我按照你说的做了正确的插入。任何其他类似情况都可以使用简单引号(')?如果插入的文本包含
,则必须将其转义:
插入。。。值('O'Brien')
。由于您是从mysql监视器执行此操作,因此没有任何东西可以自动为您执行此操作。你必须自己逃避。哦,好吧,它适用于任何文本字符串,不管它是否包含正则表达式,对吗?但是关于数字呢,因为它确实适用于没有简单引号的数字数字数字总是数字,因为表和字段名不允许以数字开头,所以不能将
somefield=42
误解为希望将somefield设置为与名为
42
的字段的值相等。它将始终被视为“将值42放入字段somefield”。另一方面,字符串可能被误解为sql保留字、字段/表名等,这就是它们需要引用(必要时转义)的原因。