duanke9540 2014-07-25 09:48
浏览 38
已采纳

数据库对齐(?)的Php SQL语法错误!

Sry if im just being blind, but this does make no sense, because I always did write it like this and I and see anything wrong with it. Besides I used multiple SQL solutions bit still errors in syntax...

My php code here:

$sql1 = " SELECT table1.file_name, table2.path
                FROM table1 AS t1
                LEFT JOIN table2 AS t2
                ON t1.file_name = t2.path
                WHERE t2.path IS NULL OR t1.file_name <> t2.file_name OR t1.file_name <> t2.path";

    $sql2 = "INSERT INTO table3 (file_name) VALUES(".$sql1.")";

    Shopware()->Db()->query($sql2);

My error message:

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT table1.file_name, table2.path FROM (the first 2 letters of table1)' at line 1 in Zend\Db\Statement\Pdo.php on line 234
  • 写回答

1条回答 默认 最新

  • dpz3471 2014-07-25 09:53
    关注

    INSERT..SELECT statements are written as:

    INSERT INTO ... SELECT ... FROM ...;
    

    Not as INSERT INTO ... VALUES (SELECT ... FROM ...);.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大