Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如果存在同名的表,如何在创建表时自动增加表名_Mysql_Node.js_Aws Lambda_Amazon Rds - Fatal编程技术网

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”等。?他们希望如何找到任何东西?