Man*_*ngo 1 mysql postgresql sql-server sql-standard
我已经读到 Microsoft SQL Server 已弃用text
数据类型而支持varchar(max)
.
PostGreSQL 已经允许varchar
(没有长度)作为text
.
问题是,ANSI SQL 标准对弃用text
和最佳替代方案有何看法?另外,MySQL/MariaDB 是否也遵循这一点?
谢谢
在 ANSI SQL 标准中,没有TEXT
类型。定义了各种字符串类型,例如CHAR
和VARCHAR
等等,但没有提及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) 的弃用决定。
归档时间: |
|
查看次数: |
4388 次 |
最近记录: |