如何根据另一个表中的值自动创建新表?例如,如果表A有一个名为city的列,其中包含不同的城市值,则需要基于每个不同的城市创建一个新表。然后,将所有具有相应城市的记录插入到其各自的表中。此外,如果城市名称中包含空格,则需要用下划线替换。如何在MySQL中完成相同的操作?
在MS ACCESS中,我可以通过以下方式实现:
Using A Select And Replace Query Named SELREP
SELECT table_A.column1, table_A.column2, table_A.city, Replace([city]," ","_") AS table_name_column FROM table_A;
Create a Public Function MakeTableCity
Public Function MakeTableCity() DoCmd.SetWarnings False Dim db As Database Set db = Application.CurrentDb Dim distinctValues As DAO.Recordset Set distinctValues = db.OpenRecordset("SELECT table_name_column FROM SELREP GROUP BY table_name_column", dbOpenSnapshot) Do Until distinctValues.EOF DoCmd.RunSQL "SELECT * INTO " & distinctValues("table_name_column") & " FROM SELREP WHERE table_name_column ='" & distinctValues("table_name_column") & "'" distinctValues.MoveNext Loop DoCmd.SetWarnings True Set distinctValues = Nothing Set db = Nothing End Function