gpt4 book ai didi

node.js - 您可以通过 Cloud Spanner API 检查表是否存在吗? (在 Node.js 中)

转载 作者:太空宇宙 更新时间:2023-11-03 21:55:23 24 4
gpt4 key购买 nike

如何通过表名检测数据库中是否存在表?没有这样的:

database.exist('some table name')

我编写我的函数:

const queryTableExist = (tableName) => {
return {
sql: `SELECT t.table_name FROM information_schema.tables AS t WHERE t.table_catalog = '' and t.table_schema = '' and t.table_name='${tableName}'`
};
};
let tableExist = (tableName, cb) => {
const query = queryTableExist(tableName);
database.run(query, (err, rows) => {
if (err) {
console.log(`${err}\n${query}`);
cb(err);
}

cb(err, rows.length > 0);
})
};

还有其他想法吗?

最佳答案

假设您正在使用 google-cloud-node客户端库和 Cloud Spanner封装:

您可以调用 table.create() 并处理错误:

var schema =
'CREATE TABLE Singers (' +
' SingerId INT64 NOT NULL,' +
' FirstName STRING(1024),' +
' LastName STRING(1024),' +
' SingerInfo BYTES(MAX),' +
') PRIMARY KEY(SingerId)';

table.create(schema, function(err, table, operation, apiResponse) {
if (err) {
// Error handling omitted.
}

operation
.on('error', function(err) {})
.on('complete', function() {
// Table created successfully.
});
});

或者您可以尝试获取对表的引用,然后检查是否有空对象:

var instance = spanner.instance('my-instance');
var database = instance.database('my-database');
var table = database.table('my-table');

关于node.js - 您可以通过 Cloud Spanner API 检查表是否存在吗? (在 Node.js 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42629284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com