如何从表的一列中选择值,并在MySQL中的另一个表的行中随机插入这些值

时间:2016-07-08 05:25:15

标签: mysql sql database

我有一张桌子" tbl_passwords"我在哪里存储' sno' &安培; '密码&#39 ;.我想从'密码'中选择值列并在" hw_passwords"中插入值作为行和太随机。

以下是" tbl_passwords"

的屏幕截图

enter image description here

关注" hw_passwords"

的屏幕截图

enter image description here

我希望问题很清楚。我已经google了很多次但没有找到任何正确的方法去做。你的帮助会很明显。提前谢谢。

2 个答案:

答案 0 :(得分:-1)

INSERT INTO `hw_passwords`
(`email`, `password1`, `password2`, `password3`, `password4`, `password5`),
VALUES
(
$email ,
SELECT password FROM tbl_passwords ORDER BY RAND() LIMIT 1),
SELECT password FROM tbl_passwords ORDER BY RAND() LIMIT 1),
SELECT password FROM tbl_passwords ORDER BY RAND() LIMIT 1),
SELECT password FROM tbl_passwords ORDER BY RAND() LIMIT 1),
SELECT password FROM tbl_passwords ORDER BY RAND() LIMIT 1)
);

如果要在每列中插入唯一密码,则必须使用procudure

答案 1 :(得分:-1)

INSERT INTO tbl_password( sno,email,password1,password2,password3,password4,password5) 
VALUES (NULL ,  'test@mail.com', 

(SELECT PASSWORD FROM user_password
ORDER BY RAND( ) 
LIMIT 1
), 
(SELECT PASSWORD FROM user_password
    ORDER BY RAND( ) 
    LIMIT 1
    ), 
(SELECT PASSWORD FROM user_password
    ORDER BY RAND( ) 
    LIMIT 1
    ), 
(SELECT PASSWORD FROM user_password
    ORDER BY RAND( ) 
    LIMIT 1
    ), 
(SELECT PASSWORD FROM user_password
    ORDER BY RAND( ) 
    LIMIT 1
    )
    )

此代码正如我所需要的那样工作。感谢您的评论。