我想创建一个基于我的地址表中现有值的测试数据表。
例如,我想获取一个随机的名字值,姓氏值,地址等,并将其插入到我的TestAddress表中的新行中。总共约有10列。
有没有一种好的方法,而不必为每行的每个列值进行一次选择?
例如
INSERT INTO TestAddress(Titel,Vorname,Nachname,Strasse,Hausnummer,Zusatz,PLZ,ORT)
VALUES(
SELECT Titel FROM Adressen where ID = FLOOR(RAND()*50000000) ,
SELECT Vorname FROM Adressen where ID = FLOOR(RAND()*50000000) ,
SELECT Nachname FROM Adressen where ID = FLOOR(RAND()*50000000) ,
SELECT Strasse FROM Adressen where ID = FLOOR(RAND()*50000000) ,
SELECT Hausnummer FROM Adressen where ID = FLOOR(RAND()*50000000) ,
SELECT Zusatz FROM Adressen where ID = FLOOR(RAND()*50000000) ,
SELECT PLZ FROM Adressen where ID = FLOOR(RAND()*50000000) ,
SELECT ORT FROM Adressen where ID = FLOOR(RAND()*50000000)
)
请注意,上面的示例不起作用。
最佳答案
在考虑了您要问的问题之后,我假设您正在说的是从多行中选择一列。并从所有这些列中创建新记录。
INSERT INTO table1 (col1,col2,col3,col4,...,col10) VALUES(
(SELECT col1 FROM table2 WHERE rowid = #) as col1,
(SELECT col2 FROM table2 WHERE rowid = #) as col2,
(SELECT col3 FROM table2 WHERE rowid = #) as col3,
(SELECT col4 FROM table2 WHERE rowid = #) as col4,
...,
(SELECT col10 FROM table2 WHERE rowid = #) as col10,
)
关于mysql - 使用SQL从现有数据生成测试表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23415180/