Bonjour, J'ai commencé mon API et je suis bloqué sur le fait de pouvoir insérez plusieurs données dans plusieurs tables differentes dans une seule requête, en mysql c'est possible du coup j'ai besoin d'aide pour pouvoir avancé .

Code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
var http = require("http");
var express = require('express');
var app = express();
var mysql      = require('mysql');
var bodyParser = require('body-parser');
 
var PHPUnserialize = require('php-unserialize');
const Serialize = require('php-serialize');
 
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : 'root',
  database : 'restapi',
  port     : '8889'
});
 
 
connection.connect(function(error) {
  if (error) throw error
  console.log('\nCongrats MySQL Server success connect')
})
 
app.use(bodyParser.json());       // to support JSON-encoded bodies
app.use(bodyParser.urlencoded({     // to support URL-encoded bodies
  extended: true
}));
 
var server = app.listen(4000, "127.0.0.1", function () {
 
  var host = server.address().address
  var port = server.address().port
 
  console.log("Server listening at http://%s:%s", host, port)
 
});
 
//GET Domains
app.get('/api/domains.json', function (req, res) {
  connection.query('select id, name, created_at from domain', function (error, results, fields) {
    if (error) throw error;
    var domain = results[0];
    if (domain == undefined) {
      res.status(404);
      res.send({
        code: 404,
        message: "Not found"
      });
    } else {
      res.send({
        code: 200,
        message: 'success',
        datas: results
      });
    }
  });
});
 
//Get Domain By ID
app.get('/api/domain/:id.json', function(req, res) {
  var domain_id = req.params.id;
  var sql1 = 'SELECT * FROM domain WHERE id = "' + domain_id + '"';
 
  connection.query(sql1, function(error, data) {
    if (error) throw error;
    var domain = data[0];
    if (domain == undefined) {
      res.status(404);
      return res.send({
        code: 404,
        message: "Not found"
      });
    }
    connection.query('SELECT us.username, us.id FROM user AS us WHERE us.id ="' + domain.user_id + '"', function(error, data1) {
      if (error) throw error;
 
      domain["user_id"] = domain["user"];
      domain["creator"] = data1[0];
 
      connection.query('SELECT * FROM lang', function(error, result) {
        domain["lang"] = result;
 
        res.send({
          code: 200,
          message: 'success',
          datas: domain
        });
      });
    });
  });
});
 
// POST Step 4
app.post('/api/domain/:id/translation.json', function(req, res) {
  var domain_id = req.params.id;
  var insertQuery = mysql.format("INSERT INTO translation (`key`, `domain_id`) VALUES (?,?);", [req.body.key, domain_id]);
  var insertQuery2 = mysql.format("INSERT INTO translation_to_lang (`lang_id`, `value`) VALUES (?,?);", [req.body.lang_id, req.body.value]);
  connection.query(insertQuery, function(error, result) {
    if (error) {
      return res.status(400).send({
        code: 400,
        message: 'Bad Request'
      });
 
    }
    connection.query(insertQuery, function(error, result) {
 
      if (error) {
        return res.status(400).send({
          code: 400,
          message: 'Bad Request'
        });
      }
 
    });
    console.log(result);
    var selectQuery = mysql.format("SELECT * FROM translation WHERE id = ?;", result.insertId);
    connection.query(selectQuery, function(error, data_insert) {
      setTimeout(function () {
        res.send({
          code: 201,
          message: 'success',
          datas: data_insert
        });
      }, 1000);
 
    });
  });})
 
  app.all('/*', function(req, res, next) {
    // CORS headers
    res.header("Access-Control-Allow-Origin", "*"); // restrict it to the required domain
    res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
    // Set custom headers for CORS
    res.header('Access-Control-Allow-Headers', 'Content-type,Accept,X-Access-Token,X-Key');
    if (req.method == 'OPTIONS') {
      res.status(200).end();
    } else {
      res.status(404);
      res.send({
        code: 404,
        message: "Not found"
      });
    }
  });
Au niveau de la requête post je viens de la modifié afin d'être plus compréhensible, les 2 requêtes INSERT INTO je voudrai simplement en fire une seule mais qui contient les 2. ça m'aiderai vachement après si y'au d'autres solution à ce problème je suis preneur.