现在我想从create table sql中获取表名,例如
CREATE TABLE `engineers` (
`id` int NOT NULL AUTO_INCREMENT,
`username` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
`password` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
`email` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
`birth` datetime,
PRIMARY KEY (`id`),
INDEX(`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
或
CREATE TABLE IF NOT EXISTS .....
2条答案
按热度按时间jhkqcmku1#
如果您可以查询数据库服务器的
information_schema
,则可以从以下查询的结果中访问表名。这应该在表创建完成后立即运行
DEMO
bvuwiixz2#
这是在php中,但应该很容易转换为ruby。假设Create语句在$sql中...
[已编辑以允许“(”跟在tablename之后,并修复strpos()中的参数顺序]
然后测试和剥离反勾,如果有任何。