mysql - MySQL:使用来自另一个表列的随机值触发更新
问题描述
是否可以创建一个触发器,该触发器在该行的值发生更改时使用另一个表列中的随机值更新列。
在附图中,我有两个表,列表和用户。我希望 users.random 在用户表中的 first_name 或 last_name 随时更新/更改时使用 list.fruit 列中的新随机值进行更新。
如果 sam smith 更改为 andrew smith,那么我希望将梨更新为水果列表中的另一个随机水果。
这个例子已经被混淆了,但应该解释我想要实现的目标。
解决方案
CREATE TRIGGER trigger_test
BEFORE UPDATE
ON users
FOR EACH ROW
SET NEW.random = ( SELECT fruits
FROM list
ORDER BY RAND() LIMIT 1);
https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=7c2b825177893766c054676f05f8e3ca
推荐阅读
- node.js - 从 res.end(data, 'binary') 创建文件会使文件损坏
- openid - 使用 Gluu 3.1.3 和 OpenAM 6 的 OIDC
- python - draw rgb spectrum in python/numpy
- ios - SceneKit - 围绕圆形挤出轮廓
- android - ViewPager 中的片段为空白
- matlab - 用于数组消息传递的 Simulink 信号
- java - Android NDK_PROJECT_PATH=null
- python - sqlachemy:按关系过滤(如django orm)?
- java - 如何在android中覆盖以前的TextView和EditText
- c# - 无法从文本文件中替换字符串