-
首先,MySQL数据库不支持select into from格式的语句,所以如下代码会报 Undeclared variable: 错误
SELECT * INTO book1 FROM ( SELECT * FROM fiction UNION SELECT * FROM
science UNION SELECT * FROM travle UNION SELECT * FROM humanities) -
那么还有两种方法分别是: create table tablename select 和 insert into
tablename(colname) select 这两种方法都可以使用但如果使用union关键字,那么不要加括号,否则出现如下错误提示
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 ‘UNION SELECT * FROM science UNION SELECT * FROM travle UNION
SELECT * FROM human’ at line 3
所以真正有效的方法如下:
INSERT INTO book(bookcode,bookname,author,amount,blanguage)
SELECT * FROM science
UNION
SELECT * FROM travle
UNION
SELECT * FROM humanities
和
CREATE TABLE book3
SELECT * FROM fiction
UNION
SELECT * FROM science
UNION
SELECT * FROM travle
UNION
SELECT * FROM humanities
最后一个题外话
有时候建立外键约束时会出现create add or update a child row错误,如果存储引擎和数据类型,大小都一致,并且没有问题,可以看看是不是约束搞反了,本来应该约束小弟表,结果约束加在了大哥表,这个还挺重要的,约束搞反了会出大问题。