我正在尝试AUTO_INCREMENT一行。
为表创建行时,INT是否优于TEXT?我将varchar用于其他行,但我认为使用带有varchar的AUTO_INCREMENT将完全没有意义。
该行称为“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')");
答案 0 :(得分:0)
你不应该在任何地方从你的html / php增加ID。您应该在数据库本身中设置它,作为带有PRIMARY索引和AUTO_INCREMENT的INT。然后,每个条目都将分配一个唯一的ID,您可以稍后查询。
答案 1 :(得分:0)
为AUTO INCREMENT
定义时,手动输入值没有意义。
有时你也有可能在不知不觉中输入表中已有的值。为了避免这种可能性,最好省略insert
语句中的自动递增字段。
如果您仍然有兴趣使用insert
语句中的字段,则可以安全地使用NULL
或0
(零)。因此引擎将使用自动增量中的新值替换它并将其用于插入。
如果您要从网络表单输入值,则可以从表单中删除自动增量字段。