在access中,字符串和字段的区别是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在access中,字符串和字段的区别是啥?相关的知识,希望对你有一定的参考价值。

这就好像问男司机和汽车的区别一样。汽车里面可以有男司机,也可以有女司机,也可以放物品。

字段是数据库表中的一个列,这个列中可以是字符串,可以是整数,也可以是超级链接或者二进制数据等等。

给你一个地址或许有帮助:
http://edutech.xmu.edu.cn/hongen/pc/oa/ac2k/ac2k0101.htm
参考技术A 你的字符串可以放到一个表的一个字段中,就好像你的货物可以放在某一个仓库的某个货架上一样

GraphQL 查询和对象字段之间的编程区别是啥?

【中文标题】GraphQL 查询和对象字段之间的编程区别是啥?【英文标题】:What's the programmatic difference between a GraphQL query and an Object field?GraphQL 查询和对象字段之间的编程区别是什么? 【发布时间】:2020-02-12 23:30:26 【问题描述】:

有谁知道我如何以编程方式区分 graphql 查询和字段?我说的是这个:

type User 
  id: ID! <-- this would be a field


type Query 
  getUsers: [User]! <-- this would be a query 

我尝试从各个方面查看它,但它们几乎相同,都是FieldDefinition 类型并且具有完全相同的结构。那么有没有办法做到这一点?我正在尝试编写一个适用于两者并且非常相似的身份验证schema directive,但是如果将指令应用于查询,它应该做不同的事情。

如果所有其他方法都失败了,我可以创建两个单独的指令,但是如果可以重复使用相同的指令并且它的使用者不必担心它被应用到哪里,它就可以正常工作。

【问题讨论】:

【参考方案1】:

GraphQL 支持三种类型的操作——查询、突变和订阅。单个模式必须支持查询,但其他两种类型是可选的。对于模式支持的每个操作,它定义一个类型作为该操作的 root。我们将这三种类型称为根操作类型。按照惯例,我们通常将这些类型命名为 QueryMutationSubscription,但它们也可以有任何其他名称。

如果使用 SDL,我们会像这样指定与每个操作关联的类型:

schema 
  query SomeType
  mutation SomeOtherType

如果您使用的是 Apollo Server,则上述步骤不是必需的,但可以覆盖 Apollo 提供的默认设置。

如果您使用的是普通 GraphQL.js,那么根操作类型将定义为架构对象的一部分:

const schema = new GraphQLSchema(
  query: SomeType,
  mutation: SomeOtherType,
)

因为QueryMutation 与其他对象类型一样,请务必记住Query 上的字段(如getUsers)仍然只是一个字段。通俗地说,我们将这些字段称为查询(突变根类型上的字段称为突变),但它们仍然只是字段。

但是,给定一个 GraphQLResolveInfo 对象,您可以识别一个字段属于哪种类型,您还可以识别三种根操作类型。所以你可以这样做:

const  parentType, schema  = info
const isQueryField = parentType === schema.getQueryType()

【讨论】:

是的,我将 parentType 解析为字符串并将其直接与 "Query" 进行比较,schema.getQueryType() 似乎更干净【参考方案2】:

在查看了所有可能的控制台日志之后,我想我可能已经找到了,所以如果有人感兴趣:

如果定义为 getUsers 的查询:

type Query 
  getUsers: [User]!

将有一个parentTypeQuery。与突变类似,parentTypeMutation。您可以通过以下方式在解析器(或扩展解析器的指令)中访问它:

async function resolver(parent, args, context, info) 
  // will be "Query" for queries and `Mutation` for mutations, 
  // and the parent object for anything else, ex. "User" for `type User `

  console.log(info.parentType) 

需要进一步调查,看看它是否适用于所有场景,但理论上应该。如果我发现该方法有任何问题,我会发表评论。

【讨论】:

以上是关于在access中,字符串和字段的区别是啥?的主要内容,如果未能解决你的问题,请参考以下文章

SQL语句如何查询ACCESS数据库中某一字符串字段长度等于某个值的所有记录?

html中get和post的区别和使用是啥?

sql语句去重distinct方法是啥?

MySQL字段类型都是啥意思?

“access索引或主关键字不能包含一个空 (Null)值”是啥意思?怎么解决?

SQLSERVER中nvarchar和varchar类型的区别是啥?