MySQL NODEJS:创建数据库和关联表的完整指南
P粉682987577
P粉682987577 2023-08-26 14:44:38
[MySQL讨论组]
<p>我正在设置mysql/nodejs应用程序。</p> <p>我想在每次服务器重启时删除数据库,重新创建数据库,并创建表。</p> <p>如果我指定与数据库的连接:</p> <pre class="brush:js;toolbar:false;">let con = mysql.createConnection({ host: &quot;localhost&quot;, user: &quot;root&quot;, password: &quot;pass&quot;, database: &quot;my_db&quot;, }); </pre> <p>我可以创建表、索引、插入值,但只有第一次可以成功。每次以后都会告诉我已经创建了一切。</p> <p>另一方面,如果我在创建连接时不指定数据库,我可以删除数据库,创建新的数据库,但是当我尝试创建表时,会出现一个错误,说我没有与该表关联的数据库。</p> <p>有什么办法可以解决这个问题吗?</p>
P粉682987577
P粉682987577

全部回复(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);
    };
});

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号