![](/img/trans.png)
[英]How to insert one table to another from another database with relationships in MySQL?
[英]How to insert a particular value from one database table into another using '$row'?
我目前正在尝试建立一个系统,从“用户”表中随机选择一个用户,并将其附加到另一个表'agreeuser'或'disagreeuser',具体取决于用户是否具有'like'值'like'或者“不喜欢”。 我这样做是通过使用$ row来选择用户有“喜欢”意见的完整行,但它似乎没有将'$ row [username]'中存储的数据添加到'user'列'agreeuser'或'disagreeuser'表。
我已经尝试将'$ row ['username']值存储为变量并在查询的值方面使用它,但它似乎没有用。 我也尝试过组合INSERT和SELECT查询,它仍然没有效果。 有谁能告诉我我做错了什么,拜托? :)
if($_SESSION['pageLoaded'] != "true") {
$selectLikesQuery = "SELECT * FROM users WHERE opinion = 'like' ORDER BY RAND() LIMIT 1";
$likeSelectorResult = mysqli_query($userConnect, $selectLikesQuery);
while($row = mysqli_fetch_assoc($likeSelectorResult)) {
$removeCurrentAgreeContent = "TRUNCATE TABLE agreeUser";
$addAgreeUserQuery = "INSERT INTO agreeUser (user) VALUE ('$row[username]')";
mysqli_query($chatConnect, $removeCurrentAgreeContent);
mysqli_query($chatConnect, $addAgreeUserQuery);
}
$selectDislikesQuery = "SELECT * FROM users WHERE opinion = 'dislike' ORDER BY RAND() LIMIT 1";
$dislikeSelectorResult = mysqli_query($userConnect, $selectDislikesQuery);
while($row = mysqli_fetch_assoc($dislikeSelectorResult)) {
$removeCurrentDisagreeContent = "TRUNCATE TABLE disagreeUser";
$addDisagreeUserQuery = "INSERT INTO disagreeUser (user) VALUE ('$row[username]')";
mysqli_query($chatConnect, $removeCurrentDisagreeContent);
mysqli_query($chatConnect, $addDisagreeUserQuery);
}
$_SESSION['pageLoaded'] = "true";
}
我需要将'users'中的用户名插入'agreeuser'的'user'列。 感谢您的帮助,如果我做了一些愚蠢的事情,我会道歉:)
为什么不使用SQL视图只查看“虚拟表”中的所需数据,而不是创建重复数据?
视图是一个非常有用的功能。
例如,进行SELECT查询以查找所需的行:
SELECT * FROM users WHERE opinion = 'dislike'
如果这个选择适合你,只需添加:
CREATE OR REPLACE VIEW v_agreeUsers AS SELECT * FROM users WHERE opinion = 'dislike'
对于同意的用户也这样做:
CREATE OR REPLACE VIEW v_disagreeUsers AS SELECT * FROM users WHERE opinion = 'like'
说实话,我不明白你为什么一个接一个地随机选择和插入用户。
如果您只想获得一个随机用户,只需在创建了上面提到的视图后运行此查询:
SELECT * FROM v_agreeUsers ORDER BY RAND() LIMIT 1
SELECT * FROM v_disagreeUsers ORDER BY RAND() LIMIT 1
祝好运! :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.