gpt4 book ai didi

当我将列的大小从 BIGINT(11) 更改为 BIGINT(20) 时,MySql 表列删除了其 AI 标志

转载 作者:行者123 更新时间:2023-11-29 18:51:35 30 4
gpt4 key购买 nike

我有一个表名称file_upload它的 upload_id 列为 BIGINT(11) AI PK NOT NULL当我将表列大小更改为 BIGINT(20) 时,AI 标志被删除,每次更改列中的任何内容时,是否都应该向列提供新的定义?

最佳答案

只有一个小注释。 BIGINT(10)BIGINT(20) 之间没有真正的区别。您可以始终存储相同的值。仅与ZEROFILL一起使用时的尺寸。

查看我的示例

mysql> CREATE TABLE `bigints` (
-> `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
-> `bigint1` BIGINT(1) UNSIGNED DEFAULT NULL,
-> `bigint10` BIGINT(10) UNSIGNED ZEROFILL DEFAULT NULL,
-> `bigint20` BIGINT(20) UNSIGNED ZEROFILL DEFAULT NULL,
-> PRIMARY KEY (`id`)
-> ) ENGINE=INNODB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0,04 sec)

mysql>
mysql> INSERT INTO `bigints` (`id`, `bigint1`, `bigint10`, `bigint20`)
-> VALUES
-> (1, 1, 1, 1),
-> (2, 100, 100, 100),
-> (3, 1000000000, 1000000000, 1000000000),
-> (4, 18446744073709551615, 18446744073709551615, 18446744073709551615);
Query OK, 4 rows affected (0,01 sec)
Records: 4 Duplicates: 0 Warnings: 0

mysql> SELECT * from bigints;
+----+----------------------+----------------------+----------------------+
| id | bigint1 | bigint10 | bigint20 |
+----+----------------------+----------------------+----------------------+
| 1 | 1 | 0000000001 | 00000000000000000001 |
| 2 | 100 | 0000000100 | 00000000000000000100 |
| 3 | 1000000000 | 1000000000 | 00000000001000000000 |
| 4 | 18446744073709551615 | 18446744073709551615 | 18446744073709551615 |
+----+----------------------+----------------------+----------------------+
4 rows in set (0,01 sec)

mysql>

关于当我将列的大小从 BIGINT(11) 更改为 BIGINT(20) 时,MySql 表列删除了其 AI 标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44341939/

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