我正在开发一个Web应用程序,其中有一个公共数据库,用户可以在该数据库中创建表,然后从中检索数据。用户只有在创建表时才能访问数据库中的表。所以我的问题是,如果两个不同的用户创建了一个具有相同名称的组,那么这不是一个问题,因为我的数据是通过引用表名来获取的吗?
如何解决这个问题?
编辑:这是我想在每次有人调用函数时运行的查询
CREATE TABLE `<name of table>` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) COLLATE utf8_bin NOT NULL,
`start` datetime NOT NULL,
`end` datetime DEFAULT NULL,
`url` varchar(255) COLLATE utf8_bin NOT NULL,
`allDay` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT 'false',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=7 ;
答案 0 :(得分:1)
如何使用用户的ID为表名添加前缀?
e.g. user_1_their-table-name
如果第一个字符是数字,那么您会遇到问题,所以我一开始就添加了user_。