mysql - 错误 1327 未声明的变量 :Student

标签 mysql sql

CREATE TABLE IT1 ( name VARCHAR(64), roll_no INTEGER )
CREATE TABLE IT2 ( name VARCHAR(64), roll_no INTEGER )
CREATE TABLE IT3 ( name VARCHAR(64), roll_no INTEGER )

INSERT INTO IT1 (name, roll_no) VALUES ('aa','13')
INSERT INTO IT2 (name, roll_no) VALUES ('bb','10')
INSERT INTO IT3 (name, roll_no) VALUES ('cc','78')

SELECT *
INTO Student
FROM ( SELECT 
       IT1.name, IT1.roll_no
       FROM IT1
     UNION 
       SELECT
       IT2.name,IT2.roll_no
       FROM IT2
     UNION
       SELECT 
       IT3.name,IT3.roll_no
       FROM IT3
     ) n
ORDER BY roll_no ASC

最佳答案

MySQL 不支持 SELECT ... INTO ... 语法。

您必须使用 INSERT INTO ... SELECT .. 语法来完成此操作。

在这里阅读更多信息.. http://dev.mysql.com/doc/refman/5.0/en/insert-select.html

尝试这样

CREATE TABLE IT1 ( name VARCHAR(64), roll_no INTEGER );
CREATE TABLE IT2 ( name VARCHAR(64), roll_no INTEGER );
CREATE TABLE IT3 ( name VARCHAR(64), roll_no INTEGER );

INSERT INTO IT1 (name, roll_no) VALUES ('aa','13');
INSERT INTO IT2 (name, roll_no) VALUES ('bb','10');
INSERT INTO IT3 (name, roll_no) VALUES ('cc','78');

CREATE table student as SELECT *
FROM
  (SELECT IT1.name,
          IT1.roll_no
   FROM IT1
   UNION SELECT IT2.name,
                IT2.roll_no
   FROM IT2
   UNION SELECT IT3.name,
                IT3.roll_no
   FROM IT3) n
ORDER BY roll_no ASC

<强> FIDDLE DEMO

关于mysql - 错误 1327 未声明的变量 :Student,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23308045/

相关文章:

MYSQL - 根据单个 CASE 语句更新多个字段

php - CSV 数据存储在数据库的同一列中

php - mysql PDO ON DELETE CASCADE - 不工作

php - 在 CI + SQL Server 中检查更新查询结果

mysql - 使用更新触发器更新另一个表

sql - 如何在新表中选择特定行?

php - SQL查询未返回特定结果

php - 限制特定对象一小时内显示数量的最佳方法?

php - 查询为空,还有其他错误

MySQL对三个相互连接的表进行连接查询