不推荐使用 SQL 文本数据类型?

Man*_*ngo 1 mysql postgresql sql-server sql-standard

我已经读到 Microsoft SQL Server 已弃用text数据类型而支持varchar(max).

PostGreSQL 已经允许varchar(没有长度)作为text.

问题是,ANSI SQL 标准对弃用text和最佳替代方案有何看法?另外,MySQL/MariaDB 是否也遵循这一点?

谢谢

ype*_*eᵀᴹ 9

在 ANSI SQL 标准中,没有TEXT类型。定义了各种字符串类型,例如CHARVARCHAR等等,但没有提及TEXT类型。有一个CHARACTER LARGE OBJECT和一个BINARY LARGE OBJECT

各种TEXT各种DBMS(Postgres的,SQL服务器,MySQL的)发现的种类有增加和它们之间的微小差异。它们的相似之处在于它们可以容纳非常大的字符串。

SQL ServerTEXT正在被弃用。MySQLTEXT没有被弃用。PostgreSQLTEXT得到了很多人的大力支持和推荐,可以在任何地方使用,代替VARCHAR(n). 从 Postgres 文档,字符类型

另外,PostgreSQL 提供了 text 类型,可以存储任意长度的字符串。尽管该类型text不在 SQL 标准中,但其他几个 SQL 数据库管理系统也有。

所以,问题:

问题是,ANSI SQL 标准对弃用text和最佳替代方案有何看法?另外,MySQL/MariaDB 是否也遵循这一点?

答案很简单:Nothing 和 No。没有弃用 of,TEXT因为没有TEXT类型。TEXT甚至不是 ANSI SQL 中的保留关键字。对于不在标准中的类型,一个 DBMS (MySQL) 不必遵循另一个 DBMS (SQL Server) 的弃用决定。