Php 插入到两个不同的数据库中
我正在尝试使用MySQL插入两个不同的数据库-Php 插入到两个不同的数据库中,php,mysql,Php,Mysql,我正在尝试使用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 NU
`$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语法有错误;查看与您的MySQL服务器版本相对应的手册,以了解可在附近使用的正确语法
'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`
可以使用两个不同的连接和单独的插入查询在两个数据库中插入。 或在插入时使用databasename.table名称。
谢谢您使用的是什么API-MySQLi、PDO、mysql_*()?它们中的大多数不支持在一条语句中执行多个查询(MySQLi支持)。通常需要执行两个单独的语句。(从查询变量来看,我假设这是
mysql_*()
),即使可以执行两条语句,它们之间的分隔符也是
而不是,
@MichaelBerkowski根据我的经验,PDO支持同时进行多个查询,只需使用分号分隔符即可。我正在使用PDO,我将尝试使用代码>取而代之