我创建了一个表,如下所示:
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!` ...
或者更好的是,不要在表名中使用特殊字符以避免此类问题。