2014-01-28 4 views
0

행을 AUTO_INCREMENT하려고합니다.행 자동 증가 (ID)

테이블에 대한 행을 만들 때 INT는 TEXT보다 좋습니까? 다른 행에 대해 varchar를 사용하지만 varchar를 AUTO_INCREMENT로 사용하는 것은 완전히 무의미합니다.

이 행은 'ID'라고하며, 데이터가 다른 행에 삽입 될 때마다 AUTO_INCREMENT를 가정합니다. 사용자가 데이터를 입력 할 수있는 다른 행 대신 AUTO_INCREMENT를 가정하기 때문에 아래의 'serverid'를 수정하거나 내 HTML 양식의 ID 필드에서 입력을 비활성화하는 것이 더 좋을까요? 당신은 어디서든 HTML/PHP에서 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

미안하지만 나는 어떤 생각을 갖고 있지 않다. 게다가, 내 post_serverport는 "0", '', '', ''), (0, '0.0.0.0', 0 " –

답변

0

AUTO INCREMENT에 정의 된 경우 값을 수동으로 입력 할 때 의미가 없습니다.

때때로 테이블에 이미있는 값을 알지 못하게 입력 할 수도 있습니다. 이러한 가능성을 방지하려면 insert 문에서 자동 증가 필드를 생략하는 것이 좋습니다.

insert 문에서 여전히 필드를 사용하려면 NULL 또는 0을 (0)으로 안전하게 사용할 수 있습니다. 그래서 엔진은 그것을 자동 증가의 새로운 값으로 대체하고 그것을 삽입을 위해 사용합니다.

웹 양식에서 값을 입력하는 경우 양식에서 자동 증가 필드를 제거 할 수 있습니다.

+0

이 질문에 대한 답변입니다. –

0

:

여기 내 코드입니다. PRIMARY 인덱스와 AUTO_INCREMENT가 확인 된 INT로 데이터베이스 자체에서 설정해야합니다. 그러면 모든 항목에 나중에 고유 한 ID가 할당되어 나중에 쿼리 할 수 ​​있습니다.