2013-03-22 3 views
-2

내가 PHP를 내 관리자를 사용하고 난이 쿼리를 실행하려고 :phpMyAdmin을 간단한 쿼리의 SQL 오류

INSERT INTO msumat(tempat_lahir) VALUES ('Jakarta') WHERE umat_id != 10 

쿼리가 발견되어야한다,하지만 난 항상에서 오류 얻을 :

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE umat_id != 10' at line 1 

내 실수는 어디에 있습니까? 그리고 최근에 이상한 사실을 발견했습니다 :

내 컴퓨터의 쿼리는 ''으로 실행됩니다.하지만이 쿼리는 내 친구의 컴퓨터에서 실행되고 있지 않으므로 ''을``로 변경해야합니다. phpmyadmin의 버그입니까? 감사 : D

+0

지구상에서 무엇을하려고합니까?! –

+1

'INSERT' 문에는 항상 새로운 행을 추가하기 때문에'WHERE' 절이 없습니다. 대신 기존 행을 '업데이트'하시겠습니까? –

+4

나중에 참조하기 위해, 당신이 사용하고있는 도구의 버그는 거의 없다 _ 그러나 _ 자신의 코드에 결함이있다. :) –

답변

4

삽입 및 업데이트를 혼동하는 것 같습니다.

삽입은 새 행을 만들고 항상 삽입 할 값을 제공합니다.

업데이트는 일련의 행에서 데이터를 변경합니다.

기본적으로
UPDATE msumat set tempat_lahir = 'Jakarta' where umat_id != 10; 
+2

예, im to new. 나는 'tempat_lahir'열에 어떤 값 (NULL)도 갖고 있지 않기 때문에 그것을 삽입해야하며 그것을 업데이트 할 필요가 없다고 생각한다. 도와 주셔서 감사합니다 : D –

+1

10 분 동안 기다리십시오. 시스템에서 지금 대답을 수락하지 못합니다. D –

2

, INSERTWHERE 절을 가질 수 없습니다 :

당신은 업데이 트가이 의미 가정. 당신이 INSERT INTO..SELECT 문을 실행하는 경우

INSERT INTO tableName (column1, ...) VALUES (Value1,...) 

INSERTWHERE 절을 가질 수있는 유일한 시간이다.

INSERT INTO tableName (column1, ...) 
SELECT column1, ... 
FROM Table_name2 
WHERE .... 

기존 열을 수정하려는 경우 UPDATE을 사용해야합니다.

UPDATE msumat 
SET tempat_lahir = 'Jakarta' 
WHERE umat_id <> 10 

은 항상이 일을 기억

  • INSERT

    항상 에 사용되는 테이블에 새로운 레코드를 추가.
  • UPDATE으로 변경 테이블의 레코드을 수정하는 데 사용됩니다.
+0

예, 감사합니다. D –