gpt4 book ai didi

mysql - 如何使用 MySQL 事件自动插入包含 2 个表的行?

转载 作者:行者123 更新时间:2023-11-29 06:39:43 26 4
gpt4 key购买 nike

我正在尝试创建从 usersuser_balance 表的自动(事件)插入行函数。我想过在我的域服务器上创建 PHP Cron 系统,但使用 MySQL 事件会更高效。下面的代码是它应该如何工作的示例。

INSERT INTRO a.user_balance (a.user_id, a.account_balance) FROM b.users VALUES (b.id, b.account_balance) WHERE b.account_balance > 0

Edit event > Execute every: 1 MONTH


users

| id | account_balance |
| 1 | 10.50 |
| 5 | 2.80 |


user_balance

id | user_id | account_balance | date_added |
AUTO_INCREMENT | 1 | 10.50 | CURRENT TIMESTAMP |
| 5 | 2.80 | CURRENT TIMESTAMP |

因此,从表users中,我想检测帐户余额> 0,然后将新行插入到user_balance表中。但是每个月的第一天

当前的INSERT根本不起作用。我该如何解决这个INSERT

最佳答案

我认为您的 INSERT INTO 的版本正确SQL 将是:

INSERT INTO user_balance (user_id, account_balance)
SELECT id, account_balance
FROM users
WHERE account_balance > 0

  • 在这种情况下,您不需要 a/b 表说明符;如果这样做,您可以将它们指定为 FROM users bFROM users AS b
  • 在这种情况下,您不使用 VALUES:而是编写一个 SELECT,并且 SELECT 应该可以独立运行,无需INSERT INTO 来测试其语法
  • (您刚刚在评论中重复了“INTRO”类型 - 应为“INTO”)

关于mysql - 如何使用 MySQL 事件自动插入包含 2 个表的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52257326/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com