2014-12-16 3 views
0

"CREATE TABLE"과 "ALTER TABLE ... ADD"및 "UPDATE..SET ... WHERE"의 조합을 사용하여 반복적으로 온라인 설문 조사를 작성했습니다. 두 부분. Part 1에서는 사용자 입력을, Part 2에서는 일부만 입력합니다. 일부 값을 입력합니다. 어떤 이유로 든 위의 SQL 문 조합을 사용할 때 설문지의 두 번째 부분에서 사용자가 입력 한 내용이 MySQL에 입력되지 않는다는 것이 분명 해졌습니다. 설문 조사의 두 번째 부분은 공백으로 남습니다. 나는 문자 그대로 수십 번 시도했다. 그 밖의 모든 것을 실패한 나는 모든 입력 텍스트 필드를 가진 TABLE을 생성하기로 결정했다. (다시 말해서 첫 번째 부분의 텍스트 필드를 사용한 다음 ALTER TABLE을 사용하여 두 번째 부분의 열을 추가했다. 내가 언급했듯이, 이것은 효과가 없다). 이었다 내가 대신 시도, 내 첫 번째 PHP 파일을, 내가했다 :한 번만 작성하고 INSERT INTO를 두 번 입력하십시오.

$sql = "CREATE TABLE hollywoodmovies (ID INT(10), Year INT(10), 
      LeadActor VARCHAR(60), StudioName VARCHAR(20), PRIMARY KEY(ID))"; 

그리고 온라인 설문 조사 1 부와 다음 두 번째 PHP 파일 거래 :

$sql = "INSERT INTO hollywoodmovies (ID, Year, LeadActor, StudioName) 
      VALUES ('$uniqueid', '$year', '$actorname', '$studiolist')"; 

이 사실에도 불구하고 그 온라인을 I는 정확히 상기와 같은 한, 지금 ID 및 YEAR

, 조사의 제 2 부분 : 조사 부분 중 하나는 두 개의 형태의 필드가

$sql = "INSERT INTO hollywoodmovies (ID, Year, LeadActor, StudioName) 
      VALUES ('$uniqueid', '$year', '$actorname', '$studiolist')"; 

그리고 이것은 설문 조사/설문 조사의 두 번째 부분에 대한 양식 필드가 두 개뿐입니다. LEADACTOR 및 STUDIONAME.

실행시에는 ALTER TABLE 및 UPDATE를 사용했을 때와 달리 설문의 두 번째 부분의 입력 내용이 누락되어 모든 원하는 필드에 각각의 값이 할당되어 있습니다. 따라서 이것은 좋은 것입니다. 무슨 일이 일어나고 있는지, 나는 하나가 아니라 두 개의 레코드 (행)를 얻고있다. 첫 번째 레코드에서 처음 두 열에는 사용자 입력이 표시되지만 마지막 두 열은 비어 있습니다. 두 번째 행에는 처음 두 개의 열이 비어 있지만 마지막 두 개의 열에는 데이터가 있습니다. 두 가지가 아니라 한 가지 레코드 만 가질 수있는 방법이 있습니까? (공백을 없애기 위해 NULL이라는 단어를 사용할 수 있습니까? 하나의 레코드 만 제공합니까?) 기억하십시오. 내 SQL 서버는 매우 번거롭기 때문에 ALTER 나 UPDATE 등을 사용할 수 없습니다. 서버가 ' 그것처럼. 나는 "INSERT INTO ... VALUES"와 함께 CREATE만을 사용할 수 있습니다. 너 아이디어 있니?

답변

0

INSERT 확실히 ID 열에 대해 키 저장이없고 두 INSERT 문에서이를 사용하는 경우 특히 2 행을 생성합니다. LEADACTOR 및 STUDIONAME을 채우는 두 번째 문에

UPDATE

예를 들어, 할 UPDATE hollywoodmovies SET StudioName = $studioname, LeadActor = $leadactor WHERE ID = $uniqueid

관련 문제