我必须验证表中是否存在行。
我这样做,响应为假,但问题是表中存在该行。
$Qcheck = $this->db->prepare('select exists(select products_warehouse_id) from :table_products LIMIT 1');
if ($Qcheck->fetch() === false) {
$sql = <<<EOD
ALTER TABLE :table_products ADD products_warehouse_id Int(11) NULL AFTER products_type;
EOD;
}
$this->db->exec($sql);
products_warehouse_id存在于表中,但是如果我写products_warehouse_id_1会出现此错误
Fatal error: Uncaught PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'products_warehouse_id_1' in 'field list' in
我的目标是当我安装一个应用程序时,我想验证表中是否存在该行。如果没有创建该行。
答案 0 :(得分:0)
有几种方法可以解决此问题。
首先,您的products_wharehouse_id似乎拼写不正确。你是说仓库吗?
第二,您忘记为if($ Qcheck-> fetch()=== false){
第三,不受限制的MySQL括号!这是有效的MySQL查询:从table_products LIMIT 1中选择exist(选择product_wharehouse_id)。