我正在尝试自动行。
为表创建一行时,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
语句中的字段,则可以安全地在其中使用NULL
或0
(零)。这样,引擎将使用自动增量中的新值替换它并将其用于插入。
如果要从Web表单输入值,则可以从表单中删除自动递增字段。