我有一个表,其中一个字段是唯一的,并在其中有一些记录.我需要插入一些新记录(表中可能已存在某些记录),而不会使查询失败.
在普通的MySQL中 ; 我可以使用IGNORE关键字将查询编写为INSERT IGNORE ...
如何在Zend Framework 2 DB中指定INSERT IGNORE
我正在使用这个:
use Zend\Db\Sql\Insert;
class InsertIgnore extends Insert
{
/**
* @var array Specification array
*/
protected $specifications = [
self::SPECIFICATION_INSERT => 'INSERT IGNORE INTO %1$s (%2$s) VALUES (%3$s)',
self::SPECIFICATION_SELECT => 'INSERT IGNORE INTO %1$s %2$s %3$s',
];
}
Run Code Online (Sandbox Code Playgroud)
在实践中
//$action = $sql->insert(); // Before
$action = new InsertIgnore($sql->getTable()); // After
$action->values($data);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2493 次 |
| 最近记录: |