Mysql 4 vs Mysql 5 插入时的自动递增字段

标签 mysql database insert null

我一直在学习这个,但不知道在哪里读到或听到过,因为我在网上找不到任何支持它的东西,但我记得从 mysql4.x 升级到 mysql5.x 时,其中一项必需的更改是插入的自动递增字段必须从 '' 更改为 NULL(如果包含)。

我知道无论如何它都不需要插入,但只是为了兴趣点......

Mysql 4.x 将允许: INSERT INTO TABLE (table_id, name, location) VALUES ('', 'john', 'NY');​​

但是 mysql 5.x 必须有: INSERT INTO TABLE (table_id, name, location) VALUES (NULL, 'john', 'NY');​​

我在 mysql 的站点上找不到任何信息来支持这一点,但我知道它在 mysql 5.x 中抛出一个错误并且知道它在 4.x 中与 '' 一起工作,但是它在哪里记录?

最佳答案

4.15.0文档声明需要 0 或 NULL:

No value was specified for the AUTO_INCREMENT column, so MySQL assigned sequence numbers automatically. You can also explicitly assign NULL or 0 to the column to generate sequence numbers.

关于Mysql 4 vs Mysql 5 插入时的自动递增字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4563654/

相关文章:

PHP/MySQL 注册 -- 我是新手

php - 没有任何时间重叠的预订

mysql - 如果日期格式不正确或空白,如何突出显示单元格?

mongodb - 在 Mongodb 中,如何为每条记录添加一个字段?

php - 向数据库php插入大量数据

batch-file - 使用批处理修改 .properties 文件中的字符串

php - 识别mysql问题

database - 当另一个进程修改数据库时,Hibernate 二级缓存失效

mysql - 在 MYSQL Workbench 中从一个 mysql 数据库访问数据到另一个数据库

php - 在类中创建数据库表作为函数