last_used
现场。
查询在phpMyAdmin中运行得非常好,但在Magento中失败。我得到以下错误:
SQLSTATE[HY000]: General error
以下是我的模型代码,包括SQL查询:
$write = Mage::getSingleton('core/resource')->getConnection('core_write');
$sql = "LOCK TABLES mytable AS mytable_write WRITE, mytable AS mytable_read READ;
SELECT @val := unique_field_to_grab FROM mytable AS mytable_read ORDER BY last_used ASC LIMIT 1;
UPDATE mytable AS mytable_write SET last_used = unix_timestamp() WHERE unique_field_to_grab = @val LIMIT 1;
UNLOCK TABLES;
SELECT @val AS val;";
$result = $write->raw_fetchrow($sql, 'val');
raw_query
和
query
而不是
raw_fetchrow
没有运气。
编辑
:我开始认为这可能与PDO驱动程序有关,Magento肯定在使用这个驱动程序。我认为phpMyAdmin正在使用mysqli,但我不能证实这一点。