나는 스크립트를 더 빨리 만들려고 노력 중이며 SQL 내부에서 PHP로 사용되는 계산을 포함하기로 결정했습니다. 나는 그것이 코드로 필요한 경우 insert
또는 update
을 사용할지 여부를 결정 if 문 확인해야합니다 :그런 다음 선택 내에서
IF (EXISTS (SELECT * FROM `edenteva` WHERE `Time`='1340252716' and `Code`='571119'))
THEN IF (EXISTS (SELECT * FROM `map` WHERE `mega`='571119'))
THEN UPDATE `map` SET `edenteva`='571119' WHERE `mega`='571119'
ELSE INSERT INTO `map`(`mega`,`edenteva`) VALUES ('571119','571119');
을하지만, 나는 구문 오류를 얻고있다, 당신은 잘못된 것입니다 볼 수 있습니까?
1064 - SQL 구문에 오류가 있습니다. 근처 를 사용할 수있는 권리 구문에 대한 MySQL 서버 버전에 해당하는 설명서를 확인 '(존재하는 경우를 (SELECT *
edenteva
FROM WHERETime
='1340252716 ' 및Code
='57111 '라인에서 1
예쁜 당신이 주변 사람들 브래킷을 필요로하지 않는 다른 테이블의 행이있을 때 pdate 또는 우리가 값의 소스로 다른 테이블을 사용할 수 삽입 존재합니다. – Bridge
여기 MySQL 전문가가 아니지만 'IF'를 '종료'하는 것을 잊어 버린 것 같습니다. – fudo
더 깨끗한 옵션이 될 수도 있습니다. http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html (고유 인덱스에 따라 달라집니다. 매우 효율적일 수 있습니다.) – Andrew