Mysql 如何创建可以将外键值从表B插入表a的触发器 创建数据库电子书; 创建表Usuario 电子邮件VARCHAR 320主键, NombreUsuario VARCHAR 70, Contrasena VARCHAR 20, Nombre VARCHAR 30, 阿佩利多·瓦尔查尔30, IdDireccion INT, 费查纳克日期, Sexo VARCHAR 1, Celular BIGINT, Idpreferenceas INT, 伊达杰塔酒店 ; 创建表目录 IdDireccion INT主键自动递增, CalleyNumero VARCHAR 120, Colonia VARCHAR 30, CP INT, 瓦尔查尔城30号, Estado VARCHAR 20, Pais VARCHAR 20 ;

Mysql 如何创建可以将外键值从表B插入表a的触发器 创建数据库电子书; 创建表Usuario 电子邮件VARCHAR 320主键, NombreUsuario VARCHAR 70, Contrasena VARCHAR 20, Nombre VARCHAR 30, 阿佩利多·瓦尔查尔30, IdDireccion INT, 费查纳克日期, Sexo VARCHAR 1, Celular BIGINT, Idpreferenceas INT, 伊达杰塔酒店 ; 创建表目录 IdDireccion INT主键自动递增, CalleyNumero VARCHAR 120, Colonia VARCHAR 30, CP INT, 瓦尔查尔城30号, Estado VARCHAR 20, Pais VARCHAR 20 ;,mysql,Mysql,我想创建一个在direcion上插入后触发器,该触发器允许我获取direcion.iddirecion值并将其插入到Usuario.iddirecion中。在direcion表上插入值后,可以使用关键字NEW,例如: DELIMITER // CREATE TRIGGER trg_insert_usuario AFTER INSERT ON Direccion FOR EACH ROW BEGIN INSERT INTO `Usuario` VALUES('random', '

我想创建一个在direcion上插入后触发器,该触发器允许我获取direcion.iddirecion值并将其插入到Usuario.iddirecion中。

在direcion表上插入值后,可以使用关键字NEW,例如:

DELIMITER //
CREATE TRIGGER trg_insert_usuario AFTER INSERT ON Direccion
FOR EACH ROW
BEGIN
    INSERT INTO `Usuario` 
    VALUES('random', '1234', '1234', '6532', '12345', NEW.IdDireccion,
          '123', '12', '1234', '124', '1234');
END //
DELIMITER ;
请参阅以供参考

您将需要以下内容:

CREATE TRIGGER ins_dir AFTER INSERT ON Direccion
FOR EACH ROW INSERT INTO Usuario SET IdDireccion=NEW.IdDireccion
虽然这将插入一个新行,其中除IdDireccion之外的所有字段都为null,但特别是Usuario的主键也应该包含在insert语句中

根据以下注释进行更新:

CREATE TRIGGER ins_dir AFTER INSERT ON Direccion
FOR EACH ROW UPDATE Usuario SET IdDireccion=NEW.IdDireccion WHERE Email=<THE EMAIL>

我正在尝试这样的方法:为每一行在direccion上插入后创建触发器FKIDDERY BEGIN UPDATE USARIO SET IdDireccion=从direccion中选择NEW.IdDireccion;终止更新Usuario的IDDirection时,您的依据是什么?我的意思是你应该有一个WHERE子句?我有两个表:Usuario和Direccion。在Direccion表中的IdDireccion中插入一个值后,我需要一个触发器,该触发器可以使用与表Direccion中的IdDireccion相同的值更新Usuario表中的空列IdDireccion。Usuario表中应该有一个主键。我有两个表:Usuario和Direccion。在Direccion表中的IdDireccion中插入一个值后,我需要一个触发器,该触发器可以使用与表Direccion中的IdDireccion相同的值更新Usuario表中的空列IdDireccion。@RicardoRuizMelendez要做到这一点,您将使用Update而不是INSERT,并使用WHERE子句仅更新Usuario表中的相关行,即。,您必须包含该特定行的Usuario.Email字段,您必须以某种方式包含该字段。请参阅更新的答案。问题是,在用户插入之前,我不会知道任何值。想象一下,这是任何网站的注册。@RicardoRuizMelendez在这种情况下,您将同时插入到两个表中,因此您应该拥有查找可用的密钥。