【发布时间】:2014-09-13 03:57:16
【问题描述】:
我正在编写一个将新记录插入 MySQL 数据库表的 Web 应用程序。大部分信息是用户提供的,除了我想使用 Auto_Increment 获取的主键。当我从我的 Web 应用程序运行以下查询时:
SELECT Auto_Increment FROM information_schema.tables WHERE table_name='charlist';
它什么都不返回 - 我通过将查询结果存储在一个变量中然后echoing 该变量进行检查,但没有任何输出。我还使用 MySQL 控制台运行了这个查询,它返回了这个:
+----------------+
| Auto_Increment |
+----------------+
| NULL |
+----------------+
我的表肯定有主键字段,主键字段填了5条记录。这就是表的结构。
+----------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| bookIntroduced | int(11) | YES | | NULL | |
| pageIntroduced | int(11) | YES | | NULL | |
| title | varchar(50) | YES | | NULL | |
| forename | varchar(50) | YES | | NULL | |
| surname | varchar(50) | YES | | NULL | |
| oldSurname | varchar(50) | YES | | NULL | |
| alias | varchar(50) | YES | | NULL | |
| regnalNumber | varchar(5) | YES | | NULL | |
+----------------+-------------+------+-----+---------+-------+
这是表中已经存在的 5 条记录中的几个字段。
+----+-----------+---------+
| id | forename | surname |
+----+-----------+---------+
| 1 | Waymar | Royce |
| 3 | Mance | Rayder |
| 4 | Gared | |
| 5 | Tristifer | Mudd |
| 6 | Edric | Dayne |
+----+-----------+---------+
那么,当表中存在具有有效主键的记录时,为什么 Auto_Increment 会返回 NULL?
【问题讨论】:
标签: php mysql sql auto-increment