Mysql error 1064 MySQL从2个不相关的表中进行选择,并将值插入第三个表中

Mysql error 1064 MySQL从2个不相关的表中进行选择,并将值插入第三个表中,mysql-error-1064,Mysql Error 1064,我想创建一个选择并插入查询,从Customers表name和customer\u number中进行选择,并从Stock表中选择inven\u code和quant\u left 第三个表名为sales,其中还没有任何内容。我想在sales表中插入上述select查询的结果 以下是表结构的外观: 客户表格: Name VARCHAR (50) customer_number CHAR (7) PRIMARY KEY Jack Rafuse CUST123 Susan Jackso

我想创建一个选择并插入查询,从
Customers
name
customer\u number
中进行选择,并从
Stock
表中选择
inven\u code
quant\u left

第三个表名为
sales
,其中还没有任何内容。我想在sales表中插入上述select查询的结果

以下是表结构的外观:

客户表格:

Name VARCHAR (50)  customer_number CHAR (7) PRIMARY KEY
Jack Rafuse        CUST123
Susan Jackson      CUST456
product_name VARCHAR(50)  inven_code CHAR (6) PRIMARY KEY   quant_left INT
baseballs                 123456                                6
bats                      789101                                3
Id INT NOT NULL AUTO_INCREMENT
customer_number VARCHAR(50) 
Inven_code CHAR (6) 
quant_left INT
库存表格:

Name VARCHAR (50)  customer_number CHAR (7) PRIMARY KEY
Jack Rafuse        CUST123
Susan Jackson      CUST456
product_name VARCHAR(50)  inven_code CHAR (6) PRIMARY KEY   quant_left INT
baseballs                 123456                                6
bats                      789101                                3
Id INT NOT NULL AUTO_INCREMENT
customer_number VARCHAR(50) 
Inven_code CHAR (6) 
quant_left INT
销售额表:

Name VARCHAR (50)  customer_number CHAR (7) PRIMARY KEY
Jack Rafuse        CUST123
Susan Jackson      CUST456
product_name VARCHAR(50)  inven_code CHAR (6) PRIMARY KEY   quant_left INT
baseballs                 123456                                6
bats                      789101                                3
Id INT NOT NULL AUTO_INCREMENT
customer_number VARCHAR(50) 
Inven_code CHAR (6) 
quant_left INT
这是我的选择代码查询,但它给出了一个错误:

$query = "INSERT INTO sales (customer_number, inven_code, quant_left)

          SELECT customers.customer_number, stock.inven_code, stock.quant_left 
          FROM customers, stock     
          WHERE Customers.customer_number='CUST123' AND
                Stock.inven.code='123456' AND
                Stock.quant_left ='6' “;

$result = mysql_query($query, $link) or die(mysql_error($link));
这是我得到的错误:

您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解在第2行左侧的“SELECT customers.customer\u number,stock.inven\u code,stock.quant\u”附近使用的正确语法


非常感谢您提供的任何帮助。

如果我们假设您的select查询可以正常工作,您可以在mysql控制台环境中单独测试它。请尝试以下操作:

insert into sales  select 0, customers.customer_number, stock.inven_code, stock.quant_left from ...

问题不在你的查询中,而是在你的PHP代码中,因为你的结束语不是正确的

替换为
,如下所示:

<?php
$query = "INSERT INTO sales (customer_number, inven_code, quant_left)    
          SELECT C.customer_number, S.inven_code, S.quant_left 
          FROM customers C, stock S   
          WHERE C.customer_number='CUST123' AND
                S.inven.code='123456' AND
                S.quant_left ='6'";

$result = mysql_query($query, $link) or die(mysql_error($link));
?>