반응형
다른 테이블에 행을 삽입하도록 MySQL 트리거를 프로그래밍하는 방법은 무엇입니까?
테이블에 MySQL 트리거를 만들려고 합니다.기본적으로, 저는 활동 스트림을 만들고 있고 사용자의 작업을 기록해야 합니다.사용자가 코멘트를 작성할 때 해당 테이블의 데이터베이스 트리거를 실행하고 다음을 수행합니다.
- 마지막으로 삽입한 행의 ID(댓글 행의 ID)를 가져옵니다.
- 마지막으로 삽입된 행의 데이터를 사용하여 활동 테이블에 INSERT를 수행합니다.
댓글 삭제를 위해 이 트리거를 기본적으로 복제하겠습니다.
질문:
- LAST_INSERT_ID()가 ID를 잡는 가장 좋은 방법입니까?
- 마지막으로 삽입한 주석 행의 데이터를 "활동에 삽입" 문장에 사용할 수 있도록 적절하게 저장하려면 어떻게 해야 합니까?
- 저장 프로시저와 트리거를 함께 사용해야 합니까?
- 트리거의 기본 구조는 어떻게 됩니까?
감사합니다! DB 트리거, 절차 및 기능과 관련하여 손을 댄 것은 몇 년 만입니다.
drop table if exists comments;
create table comments
(
comment_id int unsigned not null auto_increment primary key,
user_id int unsigned not null
)
engine=innodb;
drop table if exists activities;
create table activities
(
activity_id int unsigned not null auto_increment primary key,
comment_id int unsigned not null,
user_id int unsigned not null
)
engine=innodb;
delimiter #
create trigger comments_after_ins_trig after insert on comments
for each row
begin
insert into activities (comment_id, user_id) values (new.comment_id, new.user_id);
end#
delimiter ;
insert into comments (user_id) values (1),(2);
select * from comments;
select * from activities;
편집:
mysql> \. d:\foo.sql
Database changed
Query OK, 0 rows affected (0.10 sec)
Query OK, 0 rows affected (0.30 sec)
Query OK, 0 rows affected (0.11 sec)
Query OK, 0 rows affected (0.35 sec)
Query OK, 0 rows affected (0.07 sec)
Query OK, 2 rows affected (0.03 sec)
Records: 2 Duplicates: 0 Warnings: 0
+------------+---------+
| comment_id | user_id |
+------------+---------+
| 1 | 1 |
| 2 | 2 |
+------------+---------+
2 rows in set (0.00 sec)
+-------------+------------+---------+
| activity_id | comment_id | user_id |
+-------------+------------+---------+
| 1 | 1 | 1 |
| 2 | 2 | 2 |
+-------------+------------+---------+
2 rows in set (0.00 sec)
언급URL : https://stackoverflow.com/questions/4753878/how-to-program-a-mysql-trigger-to-insert-row-into-another-table
반응형
'programing' 카테고리의 다른 글
PHP에서 MySQL 테이블 구조를 얻으려면 어떻게 해야 합니까?그리고 모든 테이블의 목록? (0) | 2023.10.19 |
---|---|
C와 C++에서 (...)를 무엇이라고 합니까? (0) | 2023.10.14 |
WordPress의 register_post_status를 통해 새로운 사용자 지정 게시 상태 추가 (0) | 2023.10.14 |
DbCommand 및 매개 변수화된 SQL, ORACLE 대 SQL Server (0) | 2023.10.14 |
이진 파일을 무시하는 PowerShell 검색 스크립트 (0) | 2023.10.14 |