如何通过连接查询创建新表?遭遇1327未声明变量错误
解决MySQL错误1327: Undeclared variable: new_table
你遇到的错误是因为MySQL不支持SELECT * INTO new_table FROM ...语法,该写法多用于SQL Server、Access等数据库。在MySQL中,要将查询结果存入新表,需使用CREATE TABLE ... AS SELECT(CTAS)语法。
正确的语句写法如下:
CREATE TABLE new_table SELECT * FROM order_details od LEFT JOIN menu_items mi ON od.item_id = mi.menu_item_id;
如果需要指定新表的存储引擎(如InnoDB)或其他表属性,可以在语句中添加对应配置:
CREATE TABLE new_table ENGINE=InnoDB SELECT * FROM order_details od LEFT JOIN menu_items mi ON od.item_id = mi.menu_item_id;
执行上述语句后,MySQL会自动根据查询结果的字段结构创建new_table,并将左连接的查询结果插入到该表中。
内容的提问来源于stack exchange,提问作者Aamir Rahman
相关产品推荐
相关产品推荐

