(1创建用户变量@varstr,创建触发器reader_delete,用于删除每一行读者记录时将用户变量@varstr赋值“有读者被删除”。 SET @varstr = '有读者被删除'; CREATE TRIGGER reader_deleteAFTER DELETE ON readerFOR EACH ROWBEGIN SET @varstr = '有读者被删除'; END; (2)测试触发器reader_delete,插入一个新读者记录后再删除。查看用户变量@varstr值。 (3)删除触发器reader_delete。 (4)创建表readercount,用于记录日期和读者人数,创建事件event_readercount,用于向表readercount中插入当前日期和当前读者总人数。 (5)临时关闭事件event_readercount。 (6)再次开启事件event_readercount。 (7)删除事件event_readercount
时间: 2024-02-09 18:13:18 浏览: 21
好的,我了解了你的问题。我来一步步回答:
1. 创建用户变量@varstr和触发器reader_delete:
```
SET @varstr = '有读者被删除';
CREATE TRIGGER reader_delete
AFTER DELETE ON reader
FOR EACH ROW
BEGIN
SET @varstr = '有读者被删除';
END;
```
2. 插入一个新读者记录后再删除,查看用户变量@varstr的值:
```
INSERT INTO reader (name, age, gender) VALUES ('John', 25, 'M');
DELETE FROM reader WHERE name = 'John';
SELECT @varstr;
```
这里先插入了一个读者记录,然后又删除了该记录。最后查看用户变量@varstr的值,应该为“有读者被删除”。
3. 删除触发器reader_delete:
```
DROP TRIGGER reader_delete;
```
4. 创建表readercount和事件event_readercount:
```
CREATE TABLE readercount (
date DATE,
count INT
);
CREATE EVENT event_readercount
ON SCHEDULE EVERY 1 DAY
DO
INSERT INTO readercount (date, count)
SELECT CURDATE(), COUNT(*) FROM reader;
```
这里创建了一个名为readercount的表,用于记录日期和读者人数。同时创建了一个事件event_readercount,每天触发一次,向表readercount中插入当前日期和当前读者总人数。
5. 临时关闭事件event_readercount:
```
ALTER EVENT event_readercount DISABLE;
```
6. 再次开启事件event_readercount:
```
ALTER EVENT event_readercount ENABLE;
```
7. 删除事件event_readercount:
```
DROP EVENT event_readercount;
```
希望这些回答能够帮助到你!如果你还有其他问题,请随时问我。