gpt4 book ai didi

Mysql 5.5 主键自动添加默认值

转载 作者:行者123 更新时间:2023-11-29 05:05:22 25 4
gpt4 key购买 nike

当我在 mysql 5.5 中运行以下查询时,我可以看到该表的主键有一个默认值 '',即使我没有指定它

CREATE TABLE `test1` (
`id` VARCHAR(10),
`data` VARCHAR(50),
PRIMARY KEY (`id`)
);

当我在 mysql 5.5 中运行以下查询时,我可以看到该表的主键有一个默认值 '0',即使我没有指定它

CREATE TABLE `test2` (
`id` int(10),
`data` VARCHAR(50),
PRIMARY KEY (`id`)
);

这不会发生在 ma​​riadb 10.2 中。

我曾经使用 information_schema 中的值来比较数据库结构。但是现在似乎无法比较 5.5 和 10.2 数据库中 2 个表列的默认值。有人知道为什么会自动添加吗?对此有解决方案吗?

最佳答案

根据 MariaDB documentation 10.1.7 版本之前的MariaDB5.7 版本之前的MySQL 将此类列转换为 NOT NULL 列默认值为 0。但是随后两个数据库都改变了它们的行为,目前该列被转换为 NOT NULL,但没有默认值。

因此,您可以更改您的数据库版本之一以实现相同的行为

关于Mysql 5.5 主键自动添加默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49379980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com