mysql,将列 "id"(自动递增)的值设置为列B的默认值

标签 mysql default

我正在设计一个消息系统。

在我存储消息的表中,message_id 列是自动递增的。

我还有另一列 message_reference_id。 我希望它的默认值为 message_id

如何设置?

最佳答案

您不能将默认值设置为另一列中的值。相反,如果您的列不是 NULL,您可以将其更改为可为空并将默认值设置为 NULL。然后当你选择它时,使用这个:

SELECT IFNULL(message_reference_id, message_id) AS message_reference_id
FROM your_table

您甚至可以将其放入 View 中。

或者您可以创建一个 trigger更新插入时的值。

关于mysql,将列 "id"(自动递增)的值设置为列B的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7358571/

相关文章:

MySQL select for update 返回空集,即使存在一行

php - 无法自动增加 session 值

php - 查询 ci 的 mySQL 表中有 JSON 列的位置

python - 空字典作为 dict.get() 的默认值

maven - Jenkins 为 Maven 作业执行的默认命令是什么?

MySQL 想要使用 SELECT INTO 自动递增的非主键

php - PHP 中的变量与 SQL 链接

c++ - 2个默认复制构造函数: is it possible?

python - 为什么默认情况下 Python 没有安装在 Windows 上?

c++ - 在构造函数或运算符重载器的末尾键入 `= default` 的目的是什么(例如 : copy assignment operator) declaration in a class?