设置点列的默认值

Posted

技术标签:

【中文标题】设置点列的默认值【英文标题】:Setting default value for point column 【发布时间】:2015-04-21 07:47:30 【问题描述】:

如何为 mysql 表中的 Point 列设置默认值

我试过了

`location` POINT NULL DEFAULT POINT(7.0, 81.0),

但是报错

错误:错误 1064:您的 SQL 语法有错误;检查 与您的 MySQL 服务器版本相对应的手册 在 'POINT(7.0, 81.0),

附近使用的语法

如何

【问题讨论】:

【参考方案1】:

POINT 类型的列不能有默认值。

如果您运行create table x(locationPOINT not null DEFAULT 7.0, 81.0),您将看到消息

BLOB/TEXT 列“位置”不能有默认值

可以参考this page

【讨论】:

感谢您的回复。有没有这方面的参考资料。我找到了informit.com/articles/article.aspx?p=1238838&seqNum=2,写于2008年 如果没有默认值,我无法添加特殊索引!那怎么了? 我遇到了这个问题,除了确保我自己指定一个值之外,我没有找到任何解决方案。 IE。在用另一种语言编写的与数据库交互并在相应表中创建条目的任何代码中,我让代码手动插入所需的默认值。这感觉像是一个“hack”或糟糕的解决方案,我希望实现点的默认值,但它确实有效。 另外,MariaDB(从 v. 10.2.1 开始)支持 BLOB/TEXT 列的默认值,并且(大部分)向后兼容 MySQL。

以上是关于设置点列的默认值的主要内容,如果未能解决你的问题,请参考以下文章

SQL:将所有没有默认值的列的默认值设置为 NULL

DB2 设置列的类型缺省值(默认值)非空等

如何设置列的默认值?

将序列值设置为 HSQL 中列的默认值

在 postgresql 中使用休眠注释设置列的默认值

如何将点设置为地理列的默认值?