Mysql 如果存在同名的表,如何在创建表时自动增加表名
我试图在创建新表时自动增加表名 下面是一个通用的方法Mysql 如果存在同名的表,如何在创建表时自动增加表名,mysql,node.js,aws-lambda,amazon-rds,Mysql,Node.js,Aws Lambda,Amazon Rds,我试图在创建新表时自动增加表名 下面是一个通用的方法 创建表格表格名称(列名称列类型) 如何向表名添加自动递增功能,如:表名1、表名2等?表名没有“自动递增”功能,您应该自己处理。例如,您可以使用特定名称和特定架构计算数据库中的表: SELECT count(*) FROM information_schema.tables WHERE table_schema = 'YOUR_SCHEMA' AND table_name LIKE '%YOUR_TABLE_NAME%'; 增加结果中的数字并
创建表格表格名称(列名称列类型)代码>
如何向表名添加自动递增功能,如:表名1、表名2等?表名没有“自动递增”功能,您应该自己处理。例如,您可以使用特定名称和特定架构计算数据库中的表:
SELECT count(*) FROM information_schema.tables WHERE table_schema = 'YOUR_SCHEMA' AND table_name LIKE '%YOUR_TABLE_NAME%';
增加结果中的数字并创建一个新表。表名没有“自动递增”功能,您应该自己处理。例如,您可以使用特定名称和特定架构计算数据库中的表:
SELECT count(*) FROM information_schema.tables WHERE table_schema = 'YOUR_SCHEMA' AND table_name LIKE '%YOUR_TABLE_NAME%';
增加结果中的数字并创建一个新表。多亏了@errata,我解决了这个问题。如果我有表名:表名1、表名2、表名100、表名120
我想给一个新表添加一个增量。所以在第一部分中,我获取了字母数字表名的最大计数
SELECT MAX(CAST(SUBSTR(TRIM(table_name),12) AS UNSIGNED)) FROM information_schema.tables WHERE table_schema = '${userSchema}' AND table_name LIKE '%table_name%';
例如,在上述情况下,它返回120
使用此选项并以1递增到新表的名称。多亏了@errata,我解决了这个问题。如果我有表名:表名1、表名2、表名100、表名120
我想给一个新表添加一个增量。所以在第一部分中,我获取了字母数字表名的最大计数
SELECT MAX(CAST(SUBSTR(TRIM(table_name),12) AS UNSIGNED)) FROM information_schema.tables WHERE table_schema = '${userSchema}' AND table_name LIKE '%table_name%';
例如,在上述情况下,它返回120
使用这个并用1递增到新的表名。谢谢你的回答,有没有办法获得字母数字表名的Max(),比如,如果我们有表名1,表名2,用显示来自${userSchema}的表,其中${userSchema}中的表名,如“%table\u name%”
@SahajRana更新了我的答案!谢谢你的更新。我从你的更新中得到了处理这个问题的想法&又增加了一个失踪案例。也就是说,如果我从序列之间删除一个表,那么这可能无法正常工作。所以我添加了SELECT MAX(CAST(SUBSTR(TRIM(table_name),12)为UNSIGNED)),它来自信息_schema.tables,其中table_schema='${userSchema}'和table_name,如''%table_name%'代码>@SahajRana我很高兴我帮了你!我想你可能对序列号有问题,但我试着坚持回答原来的问题。如果您认为答案解决了您的问题,请随意接受;)当然,这帮了大忙!谢谢你的回答,有没有办法得到字母数字表名的Max(),比如,如果我们有表\u name1,表\u name2和显示来自${userSchema}的表,其中${userSchema}中的表\u像“%table\u name%”
@SahajRana更新了我的答案!谢谢你的更新。我从你的更新中得到了处理这个问题的想法&又增加了一个失踪案例。也就是说,如果我从序列之间删除一个表,那么这可能无法正常工作。所以我添加了SELECT MAX(CAST(SUBSTR(TRIM(table_name),12)为UNSIGNED)),它来自信息_schema.tables,其中table_schema='${userSchema}'和table_name,如''%table_name%'代码>@SahajRana我很高兴我帮了你!我想你可能对序列号有问题,但我试着坚持回答原来的问题。如果您认为答案解决了您的问题,请随意接受;)当然,这帮了大忙!如果必须创建这种递增表名,我会担心这是一种糟糕的数据库设计。请看我的回答:嗨,@BillKarwin,谢谢你的提醒!我的用例完全不同。这有点像为表创建GUI。因此,如果用户创建了新表,我必须创建一个表名称,如果他使用默认名称,为什么不要求用户命名他们的表呢?表应该有不同的名称来描述它们的内容。是的,但是如果它们不想更改它,它们应该可以使用默认名称。你可以在工作台上看到类似的行为,我觉得很奇怪。当他们在计算机上创建新文件时,他们是否都被命名为“新文件1”、“新文件2”等。?如果你必须创建这种递增的表名,我会担心这是一个糟糕的数据库设计。请看我的回答:嗨,@BillKarwin,谢谢你的提醒!我的用例完全不同。这有点像为表创建GUI。因此,如果用户创建了新表,我必须创建一个表名称,如果他使用默认名称,为什么不要求用户命名他们的表呢?表应该有不同的名称来描述它们的内容。是的,但是如果它们不想更改它,它们应该可以使用默认名称。你可以在工作台上看到类似的行为,我觉得很奇怪。当他们在计算机上创建新文件时,他们是否都被命名为“新文件1”、“新文件2”等。?他们希望如何找到任何东西?