首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL:如何通过字符串内插法使用另一个字段设置默认字符串?

问MySQL:如何通过字符串内插法使用另一个字段设置默认字符串?
EN

Database Administration用户
提问于 2021-04-21 04:04:05
回答 1查看 424关注 0票数 2

我有下表,我想知道是否可以使用另一个字符串插值:

代码语言:javascript
复制
CREATE TABLE Account (
    AccountID varchar(25),
    About varchar(300) NOT NULL DEFAULT
        'My id is ${AccountID}',
    PageLink varchar(255) NOT NULL UNIQUE,

也就是说:我希望使用主键为每一行设置不同的默认值。

代码语言:javascript
复制
id: 1
About: My id is 1

id: 2
About: My id is 2
EN

回答 1

Database Administration用户

回答已采纳

发布于 2021-04-21 04:30:22

这在MySQL 8.0中是可能的,因为它们现在支持默认子句中的表达式。但是它不能像你所显示的那样与插值一起工作。它与任何其他MySQL字符串表达式一样工作:

代码语言:javascript
复制
CREATE TABLE Account (
 AccountID varchar(25),
 About varchar(300) not null default (CONCAT('My id is ', AccountID)),
 Pagelink varchar(255) not null unique
);

示例:

代码语言:javascript
复制
mysql> INSERT INTO Account SET AccountID = '8675309', Pagelink = '<link>';
Query OK, 1 row affected (0.00 sec)

mysql> select * from Account;
+-----------+------------------+----------+
| AccountID | About            | Pagelink |
+-----------+------------------+----------+
| 8675309   | My id is 8675309 | <link>   |
+-----------+------------------+----------+

在早期版本的MySQL中,默认值只能是文字值、NULL或CURRENT_TIMESTAMP,而不是表达式。

票数 3
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/290164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档