MySQL NODEJS: Eine vollständige Anleitung zum Erstellen von Datenbanken und zugehörigen Tabellen
P粉682987577
P粉682987577 2023-08-26 14:44:38
0
1
544
<p>Ich richte eine MySQL/NodeJS-Anwendung ein. </p> <p>Ich möchte die Datenbank löschen, neu erstellen und die Tabellen bei jedem Neustart des Servers erstellen. </p> <p>Wenn ich eine Verbindung zur Datenbank spezifiziere: </p> <pre class="brush:js;toolbar:false;">let con = mysql.createConnection({ Host: "localhost", Benutzer: "root", Passwort: "pass", Datenbank: "my_db", }); </pre> <p>Ich kann Tabellen und Indizes erstellen und Werte einfügen, aber nur beim ersten Mal. Jedes Mal später sagt es mir, dass alles erschaffen wurde. </p> <p>Andererseits, wenn ich die Datenbank beim Erstellen der Verbindung nicht spezifiziere, kann ich die Datenbank löschen und eine neue erstellen, aber wenn ich versuche, die Tabelle zu erstellen, erhalte ich eine Fehlermeldung, die besagt, dass ich dies nicht tue. Der Tabelle ist keine Datenbank zugeordnet. </p> <p>Gibt es eine Möglichkeit, dieses Problem zu lösen? </p>
P粉682987577
P粉682987577

Antworte allen(1)
P粉231112437

你不需要在连接中使用数据库

var pool  = mysql.createPool({
      connectionLimit : 10,
      host            : 'example.org',
      user            : 'bobby',
      password        : 'pass'
    });

之后你可以创建数据库

pool.getConnection(function(err, connection){
    if(err){
        return cb(err);
    }
    connection.query("CREATE DATABASE mydb", function(err, data){
        connection.release();
        cb(err, data);
    });
});

然后使用

connection.changeUser({database : "mydb"});

连接到新创建的数据库

pool.getConnection(function(err, connection){
    if(err){
        return cb(err);
    }
    connection.changeUser({database : "mydb"});
  let createTodos = `create table if not exists mytable(
                          id int primary key auto_increment,
                          title varchar(255)not null,
                          testdata tinyint(1) not null default 0
                      )`;

  connection.query(createTodos, function(err, results, fields) {
    if (err) {
      console.log(err.message);
    };
});

这只是为了展示思路而将其拆分为单独的函数。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage