Mysql 无法创建表1113-表必须至少有1列
我不知道为什么我会出现这个错误,我想今天早上我运行了这个查询,没有错误,它工作了。。我试图将两个不同的表合并到一个表中,这些表具有相同的字段,但值不同 我正在使用:Mysql 无法创建表1113-表必须至少有1列,mysql,create-table,Mysql,Create Table,我不知道为什么我会出现这个错误,我想今天早上我运行了这个查询,没有错误,它工作了。。我试图将两个不同的表合并到一个表中,这些表具有相同的字段,但值不同 我正在使用: create table jos_properties_merged engine = MERGE UNION = (mergecasas.jos_properties_contacts,viftestdb.buu_properties_contacts); 我得到 "#1113 - A table must have at le
create table jos_properties_merged engine = MERGE UNION =
(mergecasas.jos_properties_contacts,viftestdb.buu_properties_contacts);
我得到
"#1113 - A table must have at least 1 column "
您知道我做错了什么吗?根据需要,您需要指定两个表中存在的完全相同的列:
创建表t1
INT NOT NULL自动递增主键,
消息CHAR20 ENGINE=MyISAM
创建表t2
INT NOT NULL自动递增主键,
消息CHAR20 ENGINE=MyISAM
在t1消息值中插入'Testing'、'table'、't1';mysql>插入t2
消息值“Testing”、“table”、“t2”
创建表
全部的
->整型非空自动增量,
->信息CHAR20,INDEXa
->引擎=合并联合=t1,t2插入方法=最后一个
或者:例如
mysql>
制作桌面电影
名字叫varchar20,
生产varchar20,
语言varchar20
;
嗯,我发誓我今天早上运行了这个查询,我创建了一个合并表,没有指定所有列。。。一定有别的办法,真的……这很管用!从db1.students\u contacts创建表students\u合并为select*;将ignore插入students\u merged select*from db2.students\u contacts;您好,再次感谢您的帮助,请问在合并表时是否有任何方法包括按字段日期排序,以及是否有任何方法运行此查询以仅使用其他两个表中的新记录更新合并表?请帮助我,非常感谢。是的,在create..select..order by语句中添加order by。要使用新记录进行更新,您只需在同一查询中使用,其中您的\u primary\u键不在“从学生中选择您的\u primarykey\u merged”中。虽然代码可能会解决OP的问题,但最好添加上下文。解释此代码如何/为什么解决此问题。这将有助于未来的访问者学习,防止将来的错误,也有助于读者深入了解本代码中最重要的注意事项。好的答案也更有可能被提升。
CREATE TABLE [IF NOT EXISTS] table_name(
column_1_definition,
column_2_definition,
...,
table_constraints
) ENGINE=storage_engine;