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));
?>