我有下表,我想知道是否可以使用另一个字符串插值:
CREATE TABLE Account (
AccountID varchar(25),
About varchar(300) NOT NULL DEFAULT
'My id is ${AccountID}',
PageLink varchar(255) NOT NULL UNIQUE,也就是说:我希望使用主键为每一行设置不同的默认值。
id: 1
About: My id is 1
id: 2
About: My id is 2发布于 2021-04-21 04:30:22
这在MySQL 8.0中是可能的,因为它们现在支持默认子句中的表达式。但是它不能像你所显示的那样与插值一起工作。它与任何其他MySQL字符串表达式一样工作:
CREATE TABLE Account (
AccountID varchar(25),
About varchar(300) not null default (CONCAT('My id is ', AccountID)),
Pagelink varchar(255) not null unique
);示例:
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,而不是表达式。
https://dba.stackexchange.com/questions/290164
复制相似问题