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`
MySQLi, PDO, mysql _ *()? 그들 중 대부분은 하나의 명령문에서 다중 쿼리를 수행하는 것을 지원하지 않습니다 (MySQLi에서는). 일반적으로 _two_ separate 문을 실행해야합니다. (쿼리 변수에서 나는이 함수가 mysql _ *()'이라고 가정한다) –
그리고 두 개의 명령문을 실행할 수 있다고해도, 그들 사이의 구분 기호는';'가 아니라',' –
이다. @MichaelBerkowski from my experience PDO 세미콜론 구분 기호로 여러 쿼리를 한 번에 완벽하게 지원합니다. – Mahn