gpt4 book ai didi

mysql - 我在 mysql 数据库中的 id 为 0

转载 作者:行者123 更新时间:2023-11-29 03:51:21 27 4
gpt4 key购买 nike

在 mysql 数据库中我有这张表:

CREATE TABLE `actualities` (
`id` int(11) NOT NULL,
`title` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`body` text COLLATE utf8_unicode_ci,
`project_id` int(11) DEFAULT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
KEY `project_id` (`project_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

当我尝试在此表中创建一个新条目时,ID 设置为 0,如下所示:

mysql> insert into actualities (title) VALUES ('title');
Query OK, 1 row affected, 1 warning (0.13 sec)

mysql> select * from actualities order by created_at desc limit 1;
+----+-------+------+------------+---------------------+---------------------+
| id | title | body | project_id | created_at | updated_at |
+----+-------+------+------------+---------------------+---------------------+
| 0 | title | NULL | NULL | 2012-12-15 20:14:20 | 0000-00-00 00:00:00 |
+----+-------+------+------------+---------------------+---------------------+

我不明白为什么。你有解决办法吗?

解决方案

ALTER TABLE actualities MODIFY id INT AUTO_INCREMENT;

最佳答案

我猜你想要的是这个:

`id` int(11) NOT NULL AUTO_INCREMENT

如果没有这个,你需要在你的表中插入新数据时给出一个特定的值,否则它将采用默认值(这里是0)

有关 AUTO_INCREMENT 的 MySQL 文档的更多信息

关于mysql - 我在 mysql 数据库中的 id 为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13895838/

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