mysql - 操作数应包含 1 列或 sql 语法错误

标签 mysql

我检查了几乎所有相关主题,但不适合我。 我是初学者 我得到“操作数应包含 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')

请帮忙,

最佳答案

您可能需要以正确的格式输入日期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 查询将使用相同的日期格式。

关于mysql - 操作数应包含 1 列或 sql 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52684668/

相关文章:

php - sprintf() 如何防止 SQL 注入(inject)?

mysql - 业力追踪报告 : Should use redis-only or redis-mysql hybrid?

mysql - Cakephp 时间之间的条件或者时间列不是时间

mysql - MYSQL前插入、更新触发器

MySQL COUNT(*) 来自相关的 "visits"表

MySQL和Hibernate同时读写

mysql - SQL BETWEEN 字符串,其中第二个是最小的

PHP:使用 optgroup 进行动态下拉

php - 检查 SQL 数据库中不存在的值

php - Cron Jobs 在运行时滞后于我的网站