在MySQLWorkbench中创建table存储用户的tokenId信息:
use token;
SET FOREIGN_KEY_CHECKS = ; DROP TABLE IF EXISTS `allTokenIdForUser`;
CREATE TABLE `allTokenIdForUser`(
`address` varchar() DEFAULT '' COMMENT '虚拟货币地址',
`tokenIdArray` varchar() DEFAULT '' COMMENT 'tokenId序列',
PRIMARY KEY (`address`)
)ENGINE = InnoDB; SET FOREIGN_KEY_CHECKS = ;
其中:
SET FOREIGN_KEY_CHECKS = ;启动外键约束,即表与表之间的关系
SET FOREIGN_KEY_CHECKS = ;关闭外键约束
AUTO_INCREMENT = ;写入0会被当做null值处理从而写入当前最大值的下一个值(即表定义中auto_increment的值),默认当主键为id时,因为这里的主键不是id,所以不设置 修改自增值的起始位置可以通过"alter table table_name AUTO_INCREMENT=xxxx;",但是这个值必须比当前表内数据的最大值要大,否则会修改不生效;
如果需要将自增值从0而不是1开始,可以通过设置线程级别的参数"SET sql_mode='NO_AUTO_VALUE_ON_ZERO';" 来实现
然后连接mysql,sql.js:
var mysql = require('mysql'); var connection = mysql.createConnection({
host : '127.0.0.1',
user : 'root',
password : 'yourpassword',
port: '',
database: 'token',
}); connection.connect();
module.exports = connection;
然后在index.js中简单调用:
const db = require("./sql.js");//连接数据库
var address = '0x3455f15cc11f2e77c055f931a6c918ccc7c18fd8';
var queryString = "select * from allTokenIdForUser where address='" + address +"'"; db.query(queryString,(err, rows) => {
if (err) {
console.log('[SELECT ERROR] - ',err);
}else {
console.log('success');
console.log(rows); }
});