当前位置: 首页 > 面试题库 >

MySQL表名称中的特殊字符

何涵忍
2023-03-14
问题内容

我创建了一个表,如下所示:

CREATE TABLE IF NOT EXISTS 'e!' (
`aa` int(11) unsigned NOT NULL auto_increment,
`showName` TEXT NOT NULL default '',
`startDateTime` DATETIME NOT NULL default '',
`endDateTime` DATETIME NOT NULL default '',
PRIMARY KEY  (`aa`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8

然后尝试插入查询:

INSERT INTO e! (showname, startDateTime, endDateTime) VALUES('E! News ', '2012-05-03 19:00:00', '2012-05-03 20:00:00')

而且由于!表名称中的错误,我假设这!是mysql中的特殊字符。我试图对其进行转义,但查询仍然失败。

所以,我能有特殊字符,如!&在表名?如果是,那么我可能必须以某种方式对其进行编码?

谢谢。


问题答案:

用反引号引用您的含糊不清或“特殊”表名:

INSERT INTO `e!` ...

或者更好的是,不要在表名中使用特殊字符以避免此类问题。



 类似资料:
  • 问题内容: 如果我的对象包含以%符号开头的属性,那么如何获取其值。 如果我用 我得到一个错误 我知道我不应该在变量名中使用%,但这不是我的工作,我坚持使用它。 问题答案:

  • 问题内容: 我在数据库中有包含特殊字符的单词(大多数情况下为西班牙语,如波浪号)。在数据库中,所有内容均已保存并使用PHPmyAdmin正确显示,但是当我获取数据(使用PHP)并将其显示在浏览器中时,我得到了一个奇怪的字符,例如“?”。用一个正方形…我需要一个一般性的修补程序,因此我不必每次都转义每个字符,而且我还可以将PHP表单中的特殊西班牙字符插入数据库中… HTML是正确的: 所有表和数据库

  • 问题内容: 好的,我整天都在阅读正则表达式,但仍然不太了解它。我正在尝试做的是验证名称,但是我在互联网上可以找到的功能只能使用,而我需要接受的字符除外。 我基本上需要一个正则表达式来检查名称至少是两个单词,并且不包含数字或特殊字符,例如,但是这些单词可以包含æ,é,Â等字符。 可接受的名称的示例为:“ JohnElkjærd”或“AndréSvenson”。 不可接受的名称为:“ Hans ”,“

  • " My specialty is being right when other people are wrong. " — George Bernard Shaw 深入 在本书其它几处,我们已经见识过一些特殊方法——即在使用某些语法时 Python 所调用的“神奇”方法。使用特殊方法,类用起来如同序列、字典、函数、迭代器,或甚至像个数字!本附录为我们已经见过特殊方法提供了参考,并对一些更加深奥的

  • 本文向大家介绍MySQL创建带特殊字符的数据库名称方法示例,包括了MySQL创建带特殊字符的数据库名称方法示例的使用技巧和注意事项,需要的朋友参考一下 前言 这篇文章抓哟讲解了关于如何实现在MySQL中创建带有特殊字符的数据库名称,这里的特殊字符包含:!@#$%^ 方法如下 使用反引号`将数据库名称包含住,反引号`(使用引号是不可以的)即在英文输入法状态下,按Esc键对应下方的键即可出来。当然在没

  • 问题内容: 我试图编写一个文件名带有特殊字符的文件,例如“téééê.mp3”,但文件名始终保留“?” 我尝试了几种方法来代替字符“é”,但没有找到解决方法: 我也尝试过这种方式。 问题答案: 尝试: 现在,如果这是您的文件系统不支持此类文件名的问题,您将得到一个;。不同于,新的API拒绝创建可能最终无法读取的文件名。 如果确实无法创建路径,那么,您将必须找到某种逃避和撤消逃避的方法。也许写一个别