Mysql:完整性约束违规:1052,列......含糊不清 - 但不是

时间:2016-09-05 16:24:20

标签: php mysql pdo

mysql请求有问题。 特别是,一个看起来像

的部分
supplier.name AS supplier_id ,

导致1052错误 - 1052订单子句中的'supplier_id'列不明确',但代码如

CONCAT(supplier.name) AS supplier_id ,

工作正常,没有错误。为什么呢?

完整的工作sql:

SELECT
supplier_contract.*,
CONCAT('', status.name, '') as status_id ,
CONCAT(supplier.name) AS supplier_id ,
CONCAT(currency.name) AS currency_id ,
CONCAT(incoterms.name) AS incoterms_id
    from supplier_contract
LEFT OUTER JOIN status ON supplier_contract.status_id = status.id
LEFT OUTER JOIN supplier ON supplier_contract.supplier_id = supplier.id
LEFT OUTER JOIN currency ON supplier_contract.currency_id = currency.id
LEFT OUTER JOIN incoterms ON supplier_contract.incoterms_id = incoterms.id
ORDER BY name DESC, supplier_id DESC
LIMIT 0, 26

不工作sql:

SELECT
supplier_contract.*,
CONCAT('', status.name, '') as status_id ,
supplier.name AS supplier_id ,
currency.name AS currency_id ,
incoterms.name AS incoterms_id
    from supplier_contract
LEFT OUTER JOIN status ON supplier_contract.status_id = status.id
LEFT OUTER JOIN supplier ON supplier_contract.supplier_id = supplier.id
LEFT OUTER JOIN currency ON supplier_contract.currency_id = currency.id
LEFT OUTER JOIN incoterms ON supplier_contract.incoterms_id = incoterms.id
ORDER BY name DESC, supplier_id DESC
LIMIT 0, 26

错误讯息: 致命错误:未捕获异常'PDOException',消息'SQLSTATE [23000]:完整性约束违规:1052列''supplier_id'在订单子句中的含义不明确'在C:\ wamp \ www \ stream \ classes \ class.DBMethods.inc:15堆栈跟踪:#0 C:\ wamp \ www \ stream \ classes \ class.DBMethods.inc(15):PDO-> prepare('SELECT supplier ...')#1 C:\ wamp \ www \ stream \ classes \ class.TableGen.inc(20):DBMethods :: selectBySql('SELECT supplier ...')#2 C:\ wamp \ www \ stream \ classes \ class.TableGen.inc(218):TableGen-> getRecords()#3 C:\ wamp \ www \ stream \ index.php(82):TableGen-> viewRecords()#4 {main}抛出C:\ wamp \ www \ stream \ classes \ class.DBMethods。第15行的公司

0 个答案:

没有答案