Tag: sql

NodeJS MSSQL在准备好的SQL语句中

我使用nodejs npm包sql我目前有一个像这样的产品skus数组.. var skus = ['product1', 'product2', 'product3']; 我的SQL存储在一个文件如下… SELECT * FROM stock AS s WHERE s.sku IN (@skus) 那么我也有我准备好的声明代码如下。 var connection = new sql.Connection(config, function(err) { var ps = new sql.PreparedStatement(connection); //Add params if(params != undefined){ for(var key in params){ ps.input(key, sql.VarChar(200)); } } ps.prepare(sqlstatement, function(err) { ps.execute(params, function(err, data) { callback(null, data); ps.unprepare(function(err) […]

节点/ Postgres SQLselect不同的条目,然后将具有相同引用的所有其他条目放在一列中

这个问题可能被问到某处,但我似乎无法正确地在search中find准确的答案。 我正在查询一个Postgres数据库,它有很多连接,结果是这样的: WON | name | item 1 Joe A 1 Joe B 2 Smith A 所以每一个条目都有一行,我需要以某种方式得到结果: WON | name | item 1 Joe A, B 2 Smith A 这可以在查询中完成,或者用NodeJS来完成,查询有成百上千的结果,所以得到一个不同的行(WON 1),然后在数据库中search匹配它的所有条目然后重复其余部分是不可行的,所以这可能会更好地完成在Node / Javascript,但我有点新,那么这将是一个(有点)有效的方式来做到这一点? 如果有一种方法可以在查询中做到这一点,那么这将是我的偏好。 谢谢

正则expression式/parsingPostgreSQL的名字

通过PostgreSQL 名称和标识符 ,我试图找出以下… 是否有可能实现一个正则expression式(否则parsing)来检查PostgreSQL名称/标识符是否需要用双引号括起来? 如果可能的话,还要检查它是否是Unicode风格的名称。 我需要在SQL查询中注入一个标识符名称,并且只有在名称需要时才会将其包含在双引号中,因为我读到了在不需要的地方添加引号会改变名称格式(请参阅更新下面)。 更新1: 最终,我需要实现以下function: function prepareSQLName(name) { if (/* this is a regular name*/) { return name; } if (/* this is a unicode name */) { return 'U&"' + name + '"'; } else { /* needs double quotes only */ return '"' + name + '"'; } } 其中一个重要的关注点是处理非英文名称。 […]

在取出数据的同时,用空stringreplace空值

我的SQL查询: select * from users where email = email and password=password; 结果: 预期结果 : 我想用空string(“”)replace所有的空值。

如何在续集中select个案查询?

我有一个SQL查询: SELECT field1, field2, CASE WHEN field1=1 THEN 'a' ELSE 'b' END AS field3 FROM test 我想用sequelizejs来实现它, const params = { attributes: //DO SELECT CASE, }; yield Model.findAll(params); 谁能帮我? 谢谢。

如何在Sequelize模型上实现“回复”和“回复”关联

我有一个模式在sequelize的职位。 我希望你可以检索对post的回复,以及post作为回复的post。 理论上这只需要一个外键,一个“replyId”字段,所以你有这个表格: ———————- |id|post |replyId| ———————- |1 |post one |null | |2 |replying |1 | |3 |replying |1 | ———————- 所以要获得post回复1 ,你需要查找1 replyId , 并得到什么后3回复,你看id为1 序列化关系是: Post.hasMany(models.Post, { as: 'Replies' }) Post.hasOne(models.Post, { as: 'ReplyingTo' }) 然后当添加post到数据库: //Having created `post` post.setReplyingTo(replyingToPost) //Having found `replyingToPost` replyingToPost.addReplies(post) 但是无论我尝试有什么样的错误,例如在上面的表中,它是null你得到ID 3和sequelize不会返回任何答复ID 2

PostgreSQL返回失败与REGEXP_REPLACE

我正在运行PostgreSQL 9.4,并将大量logging插入到我的数据库中。 插入后,我使用RETURNING子句进一步使用。 当我简单地运行: … RETURNING my_car, brand, color, contact 一切正常,但如果我尝试使用REGEXP_REPLACE失败: … RETURNing my_car, brand, color, REGEXP_REPLACE(contact, '^(\+?|00)', '') AS contact 它失败: ERROR: invalid regular expression: quantifier operand invalid 如果我直接在PostgreSQL中直接运行查询,它可以工作并返回一个很好的输出。

将variables插入到node-mysql的SQL查询中

在node-mysql的wiki中,我注意到variables(种类)以两种不同的方式插入到SQL查询中,一种是通过在查询string的中间插入一个variables,另一种方式是通过将? 在查询string和定义这些值? 在下一个参数的数组中。 值取代? 在查询中被转义。 有什么区别,我应该什么时候使用一个呢? (如果我们希望表名是一个variables,是否应该逃脱?) 维基代码 client.query( 'INSERT INTO '+TEST_TABLE+' '+ 'SET title = ?, text = ?, created = ?', ['super cool', 'this is a nice text', '2010-08-16 10:00:23'] ); Wiki链接 : https : //github.com/felixge/node-mysql Wiki摘录 : 发送一个sql查询到服务器。 '?' 字符可以用作参数数组的占位符,在发送最终查询之前,这些参数将被安全地转义。 此方法返回一个Query对象,该对象可用于传入传入的行数据。

SQLITE TABLE创build错误

我正在学习一个示例来学习node.js / sqlite3,如下所示: https : //github.com/mapbox/node-sqlite3/blob/master/examples/simple-chaining.js 在这个例子中,表只有列,我想扩展它,所以表有三列 – 用户名,密码和login计数。 所以我改变了原来的代码,在这里: function createTable() { console.log("createTable lorem"); db.run("CREATE TABLE IF NOT EXISTS lorem (info TEXT)", insertRows); } 对此: function createTable() { console.log("createTable lorem"); db.run("CREATE TABLE IF NOT EXISTS lorem (info TEXT, name TEXT)", insertRows); } 但是当试图用值填充时,我得到一个错误: ~:dev$ node chaining.js createDb chain createTable lorem insertRows Ipsum i events.js:72 […]

在VALID查询中,nodejs mysql ER_PARSE_ERROR

所以现在我已经失去了大约2小时,并希望得到一些帮助。 我已经尝试使用mysql的lib与nodejs和一个简单的查询,如SELECT * FROM table; 工作,但现在我试图构build一个真正的查询来更新我的数据库不起作用。 我已经使用在线validation工具,并检出。 var mysql = require('mysql'); var request = require('request'); request.get('http://localhost:8080/dump/asda.dump', function (error, response, body) { if (!error && response.statusCode == 200) { var data =JSON.parse(body); var products = data['products'][0]; var myquery = "INSERT INTO `products2` ("; var midquery = ") VALUES ("; for (var k in products) { if […]