sql>选择 ->`id`, ->`name`, ->“蒂波` ->从 ->“我的表名”; +----+--------+------+ |id | name | tipo| +----+--------+------+ |1 |你好| 0| |2 |世界| 0| |3 |你好| 0| +----+--------+------+ 一组3行(0.00秒) mysql>INSERT IGNORE`my_table_name` ->(`id`、`name`、`tipo`) ->价值观 ->(4,'hello1',100),(5,'hello5',50); 查询正常,1行受影响,1条警告(0,00秒) 记录:2个重复:1个警告:1 mysql>显示警告; +---------+------+---------------------------------------+ |级别|代码|消息| +---------+------+---------------------------------------+ |警告| 1062 |键“PRIMARY”的重复条目“1”| +---------+------+---------------------------------------+ 一组1行(0.00秒) mysql>选择 ->`id`, ->`name`, ->“蒂波` ->从 ->“我的表名”; +----+--------+------+ |id | name | tipo| +----+--------+------+ |1 |你好| 0| |2 |世界| 0| |3 |你好| 0| |5 |你好5 | 0| +----+--------+------+ 一组4行(0.00秒)

sql>选择 ->`id`, ->`name`, ->“蒂波` ->从 ->“我的表名”; +----+--------+------+ |id | name | tipo| +----+--------+------+ |1 |你好| 0| |2 |世界| 0| |3 |你好| 0| +----+--------+------+ 一组3行(0.00秒) mysql>INSERT IGNORE`my_table_name` ->(`id`、`name`、`tipo`) ->价值观 ->(4,'hello1',100),(5,'hello5',50); 查询正常,1行受影响,1条警告(0,00秒) 记录:2个重复:1个警告:1 mysql>显示警告; +---------+------+---------------------------------------+ |级别|代码|消息| +---------+------+---------------------------------------+ |警告| 1062 |键“PRIMARY”的重复条目“1”| +---------+------+---------------------------------------+ 一组1行(0.00秒) mysql>选择 ->`id`, ->`name`, ->“蒂波` ->从 ->“我的表名”; +----+--------+------+ |id | name | tipo| +----+--------+------+ |1 |你好| 0| |2 |世界| 0| |3 |你好| 0| |5 |你好5 | 0| +----+--------+------+ 一组4行(0.00秒),mysql,triggers,Mysql,Triggers,更新 另一个选项(无论该表是否为空)是使用可更新的视图with子句和CHECK选项 mysql>分隔符// mysql>如果存在,则删除视图`VIEW\u my\u table\u name`// 查询正常,0行受影响(0,00秒) mysql>删除表(如果存在)`my_TABLE_name`// 查询正常,0行受影响(0,00秒) mysql>创建表如果不存在“我的表名”( ->`id`INT无符号非空主键, ->`name`VARCHAR(25), ->`tipo`INT无符号非空 -> )

更新

另一个选项(无论该表是否为空)是使用可更新的视图with子句
和CHECK选项

mysql>分隔符//
mysql>如果存在,则删除视图`VIEW\u my\u table\u name`//
查询正常,0行受影响(0,00秒)
mysql>删除表(如果存在)`my_TABLE_name`//
查询正常,0行受影响(0,00秒)
mysql>创建表如果不存在“我的表名”(
->`id`INT无符号非空主键,
->`name`VARCHAR(25),
->`tipo`INT无符号非空
-> )//
查询正常,0行受影响(0,00秒)
mysql>创建视图`VIEW\u my\u table\u name`AS
->选择'id','name','tipo`
->从'my_table_name'开始`
->蒂波在哪里100
->带有本地检查选项//
查询正常,0行受影响(0,01秒)
mysql>在“我的表”名称上插入之前创建触发器“第一个触发器”`
->每行
->开始
->如果是新的。`tipo`!=100那么
->设置为新。`tipo`:=0;
->如果结束;
->结束//
查询正常,0行受影响(0,00秒)
mysql>分隔符;
mysql>插入到“我的表”名称中`
->(`id`、`name`、`tipo`)
->价值观
->(1,'你好',0),(2,'世界',0),(3,'你好',0);
查询正常,3行受影响(0,00秒)
记录:3个重复:0警告:0
mysql>选择
->`id`,
->`name`,
->“蒂波`
->从
->“我的表名”;
+----+--------+------+
|id | name | tipo|
+----+--------+------+
|1 |你好| 0|
|2 |世界| 0|
|3 |你好| 0|
+----+--------+------+
一组3行(0.00秒)
mysql>INSERT IGNORE`view\u my\u table\u name`
->(`id`、`name`、`tipo`)
->价值观
->(4,'hello4',100),(5,'hello5',50);
查询正常,1行受影响,1条警告(0,00秒)
记录:1重复:0警告:1
mysql>显示警告;
+---------+------+--------------------------------------------+
|级别|代码|消息|
+---------+------+--------------------------------------------+
|警告| 1369 |检查选项失败“u.view_my_table_name”|
+---------+------+--------------------------------------------+
一组1行(0.00秒)
mysql>选择
->`id`,
->`name`,
->“蒂波`
->从
->“我的表名”;
+----+--------+------+
|id | name | tipo|
+----+--------+------+
|1 |你好| 0|
|2 |世界| 0|
|3 |你好| 0|
|5 |你好5 | 0|
+----+--------+------+
一组4行(0.00秒)

这个查询一开始就不起作用
values-values
是一个完全的语法错误。下面是另一个“SIGNAL SQLSTATE'45000'SET MESSAGE_TEXT='error';
”,该查询从一开始就不起作用
values-values
是一个完全的语法错误。下面是另一个“SIGNAL SQLSTATE'45000'SET MESSAGE_TEXT='error';
CREATE TRIGGER  first_trigger  BEFORE INSERT ON  my_table_name  
FOR EACH ROW
BEGIN  
     IF (NEW.`tipo` <> 100 )
    THEN    
        SET NEW.tipo = 0;
    ELSE    
        SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Error';
    END IF;
END 
INSERT INTO  my_table_name(id, name, tipo) VALUES (4, 'hello1', 100), (5, 'hello5', 50);