trouver et insérer une ligne dans une autre table mysql déclencheur
J'ai les trois tableaux suivants dans la base de données mysql nommée "My_Company"
mysql> desc employee;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| Id | int(11) | NO | PRI | 0 | |
| Emp_Name | varchar(20) | YES | | NULL | |
| Division | varchar(20) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
mysql> desc tools;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| Division | varchar(20) | NO | PRI | | |
| Tool_No | int(11) | NO | PRI | 0 | |
| Tool_Name | varchar(20) | YES | | NULL | |
+-----------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)
mysql> desc employee_tools;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| Id | int(11) | YES | | NULL | |
| Tool | varchar(20) | YES | | NULL | |
| Status | varchar(20) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
2 rows in set (0.02 sec)
-------------------------------------------------------------------------------------
J'ai besoin d'insérer les lignes à partir des outils de tableau de tableau employee_tools lors de l'insertion d'une nouvelle ligne sur la table employé.
Exemple, si j'insère une nouvelle ligne pour les employés de valeurs ('1','Michel','Réseau')
puis le déclenchement de trouver le tool_names de division à partir de la table d'outils
et ajouter les lignes à employee_tools
mysql> insert into employee values('1','Michel','Network');
Query OK, 1 row affected (0.05 sec)
mysql> select * from employee;
+----+----------+----------+
| Id | Emp_Name | Division |
+----+----------+----------+
| 1 | Michel | Network |
+----+----------+----------+
1 row in set (0.00 sec)
mysql> select * from tools;
+----------+---------+--------------+
| Division | Tool_No | Tool_Name |
+----------+---------+--------------+
| Network | 1 | Crimper |
| Network | 2 | LAN Tester |
| Network | 3 | Sleaver |
| Hardware | 1 | Screw drv |
| Hardware | 2 | Power Tester |
| Hardware | 3 | Plyer |
+----------+---------+--------------+
3 rows in set (0.00 sec)
mysql> select * from employee_tools;
+------+------------+------------+
| Id | Tool |Status |
+------+------------+------------+
| 1 | Crimper |Working |
| 1 | LAN Tester |working |
| 1 | Sleaver |working |
+------+------------+------------+
3 rows in set (0.00 sec)
le statut sera mis à jour manuellement comme ci-dessous...
+------+------------+------------+
| Id | Tool |Status |
+------+------------+------------+
| 1 | Crimper |Working |
| 1 | LAN Tester |Not working |
| 1 | Sleaver |Broken |
+------+------------+------------+
- Pourquoi avez-vous employee_tools table? Vous pouvez disposer de cette information facilement sans que cette table. Ne vois pas de sens à votre question.
Vous devez vous connecter pour publier un commentaire.
Simple que cela:
Ces gens utilise phpmyadmin, vous devez ajouter délimiteur dans votre déclencheur: