2012-10-16 5 views
0

내가 MySQL을 사용 두 개의 서로 다른 데이터베이스에 삽입하려고에 삽입 -는 두 개의 서로 다른 데이터베이스

`$this->sql = "INSERT INTO tblfixedfare SELECT NULL, MAX(FixedFareID)+1, '1', '$fieldDay' FROM tblfixedfare UNION SELECT NULL, MAX(FixedFareID)+1, '2', '$fieldNight' FROM tblfixedfare,INSERT INTO tblfixedfaresetup SELECT NULL, MAX(FixedFareID)+1, '$fieldFrompc', '1', '2' FROM tblfixedfaresetup UNION SELECT NULL, MAX(FixedFareID)+1, '$fieldTopc', '2', '2' FROM tblfixedfaresetup";` 

각 삽입에 문제가되지 않습니다, 개별적으로 각 테이블에 두 개의 행을 삽입한다.

동시에 두 가지를 모두 실행하려면 어떻게해야합니까? 현재 다음 오류가 발생합니다.

구문 오류 또는 액세스 위반 : 1064 SQL 구문에 오류가 있습니다. 올바른 구문은 두 데이터베이스에 삽입하는 두 개의 서로 다른 연결 및 별도의 삽입 쿼리를 사용할 수 있습니다

'INSERT INTO tblfixedfaresetup SELECT NULL, MAX(FixedFareID)+1, 'DE115', '1', '2'' at line 2SQL: INSERT INTO tblfixedfare SELECT NULL, MAX(FixedFareID)+1, '1', '20' FROM tblfixedfare UNION SELECT NULL, MAX(FixedFareID)+1, '2', '30' FROM tblfixedfare UNION 
           INSERT INTO tblfixedfaresetup SELECT NULL, MAX(FixedFareID)+1, 'DE115', '1', '2' FROM tblfixedfaresetup UNION SELECT NULL, MAX(FixedFareID)+1, 'DE116', '2', '2' FROM tblfixedfaresetup` 
+1

MySQLi, PDO, mysql _ *()? 그들 중 대부분은 하나의 명령문에서 다중 쿼리를 수행하는 것을 지원하지 않습니다 (MySQLi에서는). 일반적으로 _two_ separate 문을 실행해야합니다. (쿼리 변수에서 나는이 함수가 mysql _ *()'이라고 가정한다) –

+1

그리고 두 개의 명령문을 실행할 수 있다고해도, 그들 사이의 구분 기호는';'가 아니라',' –

+0

이다. @MichaelBerkowski from my experience PDO 세미콜론 구분 기호로 여러 쿼리를 한 번에 완벽하게 지원합니다. – Mahn

답변

0

을 near` 사용하는 MySQL 서버 버전에 해당하는 설명서를 확인. 삽입시 또는 databasename.table 이름을 사용하십시오. 감사합니다.

관련 문제