Database 与下面描述的问题相对应的以下SQL查询有什么问题?
为下面描述的属性创建具有适当数据类型的购物者表 列名称约束属性的描述如下所示-- Shopperid主键购物者的唯一id。例如2001年、2003年 ShopperName不能为购物者的空名称。不能超过20个字符。 性别应仅为购物者的“男性”或“女性”。不能超过6个字符。 MobileNoNotNull数字形式的购物者手机号码。不允许使用括号和连字符等字符。 购物者的地址。它不能超过50个字符。前纽约艾伦街Database 与下面描述的问题相对应的以下SQL查询有什么问题?,database,oracle,oracle11g,Database,Oracle,Oracle11g,为下面描述的属性创建具有适当数据类型的购物者表 列名称约束属性的描述如下所示-- Shopperid主键购物者的唯一id。例如2001年、2003年 ShopperName不能为购物者的空名称。不能超过20个字符。 性别应仅为购物者的“男性”或“女性”。不能超过6个字符。 MobileNoNotNull数字形式的购物者手机号码。不允许使用括号和连字符等字符。 购物者的地址。它不能超过50个字符。前纽约艾伦街 create table shopper(shopperid integer prima
create table shopper(shopperid integer primary key, shoppername varchar2(20) not null, gender varchar2(6) check (gender in ('Male', 'Female')), mobileno number(10) not null, address varchar2(50));
但是我正在练习的门户网站给了我这个信息--
错误:您的查询不符合要求。请检查数据类型
谁能帮我弄清楚我遗漏了什么?任何形式的帮助或建议都将不胜感激 唯一可能出错的是电话号码。目前,它允许这样做:
SQL> create table shopper
2 (shopperid integer primary key,
3 shoppername varchar2(20) not null,
4 gender varchar2(6) check (gender in ('Male', 'Female')),
5 mobileno number(10) not null,
6 address varchar2(50)
7 );
Table created.
SQL> insert into shopper (shopperid, shoppername, gender, mobileno, address) values
2 (1, 'x', 'Male', 0.0013, 'y');
1 row created.
SQL>
0.0013是什么类型的手机号码?可能应该是整数。创建表购物者
ShopperId整数主键,
ShopperName VARCHAR220不为空,
性别字符6勾选“男”、“女”中的性别,
MobileNo编号不为空,
地址:VARCHAR250
上面的语法对我很有用。列性别的数据类型是问题所在,将VARCHAR26更改为CHAR6,这样它就可以正常工作了
create table shopper
(shopperid integer primary key,
shoppername varchar2(20) not null,
gender char(6) check (gender in ('Male', 'Female')),
mobileno integer not null,
address varchar2(50)
);
它将正常工作创建表购物者
shopperid号主键,
shopperName varchar20不为空,
性别特征6,
Mobileno编号不为空,
地址:varchar50,
约束CHK_性别检查“男”、“女”中的性别
;
这是正确的,但我也尝试过整数,但它引发了相同的错误。我用不同的组合检查了多次,但没有一个有效。这就是为什么我要向你们这些高手寻求帮助。好吧,语法并没有问题,否则表就不会被创建。我也不认为你们的任务有什么不对。就我而言,除了电话号码之外,你做得对。没问题;如果您发现了什么问题,请告诉我们。@forpas是的,我正在使用Oracle 11g Express Edition数据库。我试图添加该标签,但无法添加,因为它需要至少1500个声誉!CREATE表格末尾是否需要分号?与SQLPlus和SQLDeveloper不同的一些工具不喜欢终止分号,并且在找到分号时可能会产生误导性错误。@cdub不是,但问题在于我使用的数据类型。他们想要不同的东西。但区别在哪里,我自己无法找出。错误表明问题出在数据类型上,但实际问题可能是由于其他原因。您是否尝试过创建没有约束的表?如果仍然出现错误,那么创建一个只有一列且没有约束的表怎么样?这些都有用吗?您可以从尝试创建最基本的表开始,然后逐渐添加更多的列和约束,直到找到错误为止。@cdub这将不起作用,因为创建带有单个属性或不带约束的表时,仍然会说这些要求没有得到满足,因为它们只显示“祝贺您!”!您的查询工作正常。“在100%正确完成任务后。一个好的答案总是包括对它如何解决问题的解释,以便任何未来的读者可以从中学习。此答案与[另一个答案]非常相似,如上所述,不包含对问题的解释和答案。