我正在使用mysql与php framework.When一起进行数据建模,我遇到了一些疑问,我有一张表格,上面有这样的用户详细信息。
CREATE TABLE IF NOT EXISTS `tbl_users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`firstname` varchar(80) NOT NULL DEFAULT '',
`lastname` varchar(80) NOT NULL DEFAULT '',
`gender` varchar(6) NOT NULL DEFAULT '',
`email` varchar(45) NOT NULL DEFAULT '',
`company_name` varchar(80) NOT NULL DEFAULT '',
`contact_no` varchar(45) NOT NULL DEFAULT '',
`address` varchar(120) NOT NULL DEFAULT '',
`state` varchar(45) NOT NULL DEFAULT '',
`country` varchar(45) NOT NULL DEFAULT '',
`created_by` int(11) DEFAULT NULL,
`updated_by` int(11) DEFAULT NULL,
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=98 ;我的问题是,我想要这个州,国家应该是这样的,这样我就可以使用像state/city这样的字段
`state/city` varchar(45) NOT NULL DEFAULT '',
`state/province` varchar(45) NOT NULL DEFAULT '',所以,这样使用是安全的,还是我只能在那里使用一个选项?任何帮助和建议都是非常有用的。
发布于 2012-03-21 09:35:11
目前,在MySQL 5.5+上,您可以在模式名和表名上使用这些字符,但请记住,由于这些字符与MySQL内部代码库上的目录路径相混淆,存在已知的错误。
在MySQL 5.5之前,您会发现这是不可能的。来自此链接:(关于旧的文档,这是不可用的)
数据库和表名不能包含“/”、“\”、“”或文件名中不允许的字符
无论如何,使用反斜杠只是不好的做法,我建议您使用下划线字符代替。
https://dba.stackexchange.com/questions/15331
复制相似问题