【问题标题】:mysql How to create aplhabetical sequence numbers A1, A2, A3 etcmysql 如何创建 aplhabetical 序列号 A1、A2、A3 等
【发布时间】:2016-06-05 23:21:10
【问题描述】:

我必须像这样在 mysql 表中创建很多记录:

A1, A2, A3,....,A24, B1, B2, B3...,B24,...,G1, G2 等

有人知道如何使用 create 语句自动执行此操作吗?

我不想一一手动创建。

我没有发布我尝试过的代码,因为我什至不知道从哪里开始。

【问题讨论】:

标签: mysql sequence


【解决方案1】:

你或许可以使用mockaroo之类的工具

您可以对字段使用函数进行生成,它支持 ruby​​ 语法。所以你可以做这样的事情。

('a'..'z').to_a('0'..'9').to_a 并迭代和追加。

【讨论】:

    【解决方案2】:

    我为您创建了一个示例。只需将完整范围的数字和字母放入其中,您就会得到序列。

    -- create table for Numbers
    CREATE TEMPORARY TABLE IF NOT EXISTS temp_table_1
    (`number` INT);
    INSERT INTO temp_table_1(`number`) VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9);
    
    -- create table for Alphabets
    CREATE TEMPORARY TABLE IF NOT EXISTS temp_table_2
    (`alphabet` varchar(1));
    INSERT INTO temp_table_2(`alphabet`) VALUES ('A'), ('B'), ('C'), ('D');
    
    -- temp table to insert records "ONLY TO TEST"
    CREATE TEMPORARY TABLE IF NOT EXISTS temp_table_3
    (`alphabet` varchar(2));
    
    -- insert into your table
    INSERT INTO temp_table_3
    SELECT CONCAT(`temp_table_2`.alphabet, `temp_table_1`.number) as `sequence`
    FROM `temp_table_1`
    CROSS JOIN `temp_table_2`;
    
    -- select inserted data "ONLY TO TEST"
    SELECT * from temp_table_3;
    

    【讨论】:

      猜你喜欢
      • 2020-07-09
      • 1970-01-01
      • 2023-01-09
      • 1970-01-01
      • 1970-01-01
      • 2020-09-16
      • 1970-01-01
      • 1970-01-01
      • 2018-08-03
      相关资源
      最近更新 更多