我正在尝试自动行。

为表创建一行时,INT是否比TEXT好?我将varchar用于其他行,但我认为将AUTO_INCREMENT与varchar一起使用将完全没有意义。

该行称为“ ID”,并且假设每次将数据插入其他行时为AUTO_INCREMENT。由于它假定为AUTO_INCREMENT,而不是允许用户输入数据的其他行,是否最好修改下面的“ serverid”或禁用HTML表单的ID字段上的输入?

这是我的代码:

// Inserting input values into its respected row
$serverip=$_POST['post_serverid'];
$serverid=$_POST['post_serverip'];
$serverid=$_POST['post_serverport'];
$serverid=$_POST['post_servertitle'];
$serverid=$_POST['post_serverdesc'];
$serverid=$_POST['post_serverwebsite'];
$query = mysqli_query($con,"INSERT INTO servers (serverid, serverip, serverport,
servertitle, serverdesc, serverwebsite) VALUES
('$serverid','$serverip','$serverport','$servertitle','$serverdesc','$serverwebsite')");

最佳答案

AUTO INCREMENT定义时,手动输入值没有意义。

有时还可能会在不知不觉中输入表中已经存在的值。为避免这种可能性,最好在insert语句中省略自动递增字段。

并且,如果您仍然想使用insert语句中的字段,则可以安全地在其中使用NULL0(零)。这样,引擎将使用自动增量中的新值替换它并将其用于插入。

如果要从Web表单输入值,则可以从表单中删除自动递增字段。

10-06 15:55