您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

MySQL:另一个表列中列的默认值

MySQL:另一个表列中列的默认值

假设您指的是数据库用户以外的其他类型的用户(例如“注册用户”),则触发器可能是解决您的问题的方法。有两个触发器,一个在插入时触发,一个在更新时触发,您可以modified_at使用自定义代码指定- column的值,例如select user_id from ... where ...

请检查以下示例代码,这些示例代码应直接回答您的问题;希望它能解决您的问题。否则,请给我们更多信息/更多背景信息。

DELIMITER |

drop table if exists soMetable
|
CREATE TABLE `soMetable` (
  `somecolumn` int(11) DEFAULT NULL,
  `modified_by` int(11) DEFAULT NULL
)
|
drop table if exists registered_user
|
CREATE TABLE registered_user (
  user_id integer primary key,
  name varchar(50)
)
|
drop trigger if exists soMetable_inserted
|
drop trigger if exists soMetable_modified
|
CREATE TRIGGER soMetable_inserted BEFORE INSERT ON soMetable
FOR EACH ROW
BEGIN
SET new.modified_by := (select user_id from registered_user where name=@name);
END;
|
CREATE TRIGGER soMetable_modified BEFORE UPDATE ON soMetable
FOR EACH ROW
BEGIN
SET new.modified_by := (select user_id from registered_user where name=@name);
END;
|

DELIMITER ;

insert into registered_user values (5, 'joe');
insert into registered_user values (6, 'sam');

set @name='sam';
insert into soMetable(somecolumn) values (1);
insert into soMetable(somecolumn) values (2);
set @name='joe';
update soMetable set somecolumn = 3 where somecolumn = 2;
MySQL 2022/1/1 18:46:24 有262人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶