- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
如何通过表名检测数据库中是否存在表?没有这样的:
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/
我在 Google Cloud Spanner 中有一个 860M 行的表格,我试图了解解释的工作原理。 该表有一个字符串列 geoid并且该列有一个索引。 当我运行以下查询时,它只需要 36 毫秒:
我有 3 个节点的 Spanner 实例,以及一个包含大约 40 亿行的表。 DDL 如下所示: CREATE TABLE predictions ( name STRING(MAX),
我有 3 个节点的 Spanner 实例,以及一个包含大约 40 亿行的表。 DDL 如下所示: CREATE TABLE predictions ( name STRING(MAX),
Cloud Spanner 提供了两种不同的 API。 Cloud Spanner 读取与 Cloud Spanner SQL API 之间有什么区别? 最佳答案 在幕后,它们都使用相同的执行机制,因
给定以下表架构: CREATE TABLE Record ( -- uuidv4 recordId STRING(36) NOT NULL, -- uuidv4 use
我想使用动态查询生成器构建一个复杂的查询,GCP Spanner 中是否有动态查询生成器。 示例: DeleteQuery query = new DeleteQuery("account a").a
我有两个结构 type Row struct{ ID string Status string details Details } type Details struct{ Sessi
假设我有架构 CREATE TABLE Account ( AccountId BYTES(MAX), Foo STRING(1024) ) PRIMARY KEY (AccountId);" CRE
我正在创建一个 SpannerSingleton,以便在应用程序的生命周期内保持连接。我对连接持久性感兴趣...如果存在 session /连接问题,如何重新创建 session ? 一个想法是,如果
我正在尝试使用下面的代码从带有时间戳的 Google Spanner 表中读取内容。 import datetime as dt from google.cloud.spanner.client im
Google Spanner 建议不要使用时间戳或序列号之类的东西作为主键或索引的初始部分,这基于架构是有意义的。但是,根据我的要求,我确实需要一些方法来确保行的严格“仅附加”顺序。 我正在使用 Sp
我正在学习 gulp。我通过以下代码得出的。 wrench.readdirSyncRecursive('./gulp').filter(function(file) { return (/\.(j
在下面的代码中我可以获得适当的数据类型值。 Map mutationMap = mutation.asMap(); Value locationValue = mutationMap.getOrDef
我正在尝试写信来抓取来自 google pub/sub 的一些消息。写入 bigtable 是有效的,因此在基础层面上没有遗漏任何内容。 我已升级到 google-cloud-dataflow-jav
假设我有三个表,Foo、Bar 和 Baz CREATE TABLE Foo ( FooId BYTES(MAX) ) PRIMARY KEY (FooId); CREATE TABLE Bar (
如何在 Google 的 Cloud Spanner 数据库中进行联接? 连接查询会执行得很快吗? SQL(MySql、Oracle、MSSQL)和 NewSQL(Cloud Spanner/TiDB
我们可以在 google spanner DB 中使用地理空间查询吗?如果没有,是否有任何替代方法可以通过在应用程序服务器中移动空间计算来在 SQL 中使用空间查询? 最佳答案 Cloud Spann
我正在尝试使用 Spring Boot 通过 java 连接到 Google Spanner。我不想从数据库中读取某些内容并使用网络套接字发送它。目前我有: @Configuration @Enabl
我想将大数据插入 Google 的 Cloud Spanner 表。 这就是我正在使用node.js应用程序所做的事情,但它停止了,因为txt文件太大(几乎2GB)。 1.load txt file
我们目前使用 NodeJs 和 Knex 来连接 MySQL。 我们计划将数据库迁移到 Cloud Spanner。 所以想知道 knexjs 是否支持云 Spanner 。 我在他们的官网(http
我是一名优秀的程序员,十分优秀!