我正在使用Yii 1.1.x - 我已经设置了一个迁移以在表中插入一行 - 这很好用,但是我遇到了down()方法似乎失败的问题
public function down()
{
//echo "m140115_100413_add_national_text_key_to_national_prizes_config_table does not support migration down.\n";
$this->delete(
'national_prizes_config',"key = 'nationaltext'"
);
return false;
}
基本上我试图简单地删除表中键为'nationaltext'的行 - 运行Yii迁移命令时控制台日志中出现错误。
我收到以下错误(SQL相关)
You have an error in your syntax...
DELETE FROM national_prizes_config WHERE key = 'nationaltext''
我不明白为什么它有2个萎缩? 另外 - 为什么Yii会回应'不支持迁移,我做错了什么?
答案 0 :(得分:1)
为什么不试试这个 -
$this->delete(
'national_prizes_config','`key` = :val',array(':val'=>'nationaltext')
);
或者如果您可以将密钥用作索引
$this->dropIndex('nationaltext','national_prizes_config');
答案 1 :(得分:1)
试试这个
$value='nationaltext';
和
$this->delete(
'national_prizes_config',"key = $value"
);
答案 2 :(得分:1)
这就是诀窍 - 多亏了原来的答案..
$this->delete(
'national_prizes_config','`key` = :val',array(':val'=>'nationaltext')
);