2012-01-16 64 views
0

假设我有一个MySQL表和一个表有一行id它有auto_incremented。比方说,通过MySQL查询和PHP,我添加一行。第一行有id1。然后我手动添加第二行(通过phpmyadmin)与id2。如果我通过PHP做第三次MySQL插入...第三行id是什么... 23MySQL的AUTO_INCREMENT手册

问题是...确实auto_increment考虑了手动输入?

+0

为什么你不试试在测试数据库? ;-) – stefandoorn 2012-01-16 09:07:28

+1

您不会发生冲突,所以下一个会是3.但是,您绝不应该手动更改或篡改auto_increment字段的值。让数据库处理它。 – 2012-01-16 09:08:22

+0

@ N.B。你确定你不会发生冲突吗?我测试了它,并得到了一个重复的关键错误。 – Konerak 2012-01-16 09:17:13

回答

2

是否auto_increment考虑到手动输入?

是的。但我希望你不要手动输入ID,对吧? :-)插入(手动或编程)时,只需保留此字段,MySQL将为您处理它。

1

MySQL确实接受手动输入,它会尝试设置您提供的值。如果该值不存在,则会被插入,否则会出现重复键错误。

  • 将一个值,当你想自己决定的值(例如, 您删除一条线,现在想在表中完全一样的线)。
  • NULL或离开插入列以让数据库 使用自动增量。

只是一个提示:当你的应用程序正在选择提供自动增量值的值时,你可能做错了什么。