首页 > 解决方案 > 操作数应包含 1 列或 sql 语法错误

问题描述

我检查了几乎所有相关主题,但对我不起作用。我是初学者要么我得到“操作数应包含 1 列”或“您的 sql 语法有错误,请检查与您的 mysql 服务器版本相对应的手册,以便在第 1 行的 ' ' 附近使用正确的语法”这是我的询问 :

create database makla;
use makla;
create table orders(
    order_id int auto_increment primary key,
    order_date DATE
);

create table productionitem(
    order_id int not null,
    item_name varchar (20),
    item_description varchar (100),
    constraint order_fk foreign key (order_id) references orders (order_id)
);

insert into orders(order_date) values ('2014/11/4');
insert into orders(order_date) values ('2017/9/30');
insert into orders(order_date) values ('2019/4/13');

insert into productionitem(order_id, item_name, item_description) 
values (1, 'tv', 'samsung X');
insert into productionitem(order_id, item_name, item_description) 
values (1, 'watch', 'swatch X');
insert into productionitem(order_id, item_name, item_description) 
values (2, 'pan', 'metal X');
insert into productionitem(order_id, item_name, item_description) 
values (3, 'cup', 'world X');
insert into productionitem(order_id, item_name, item_description) 
values (3, 'chair', 'plastic X');

select *
from productionitem
where order_id in (select order_id
                   from orders
                   where order_date between '2015/11/4' and '2020/11/4')

请帮忙,

标签: mysql

解决方案


您可能需要以正确的格式输入日期yyyy-mm-dd

insert into orders(order_date) values ('2014-11-04'); 
insert into orders(order_date) values ('2017-09-30'); -- notice 09 not just 9
insert into orders(order_date) values ('2019-04-13');

查询将使用相同的日期格式SELECT


推荐阅读