- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一项家庭作业,正在努力找出我的错误。我正在 MySQL 中创建一个表,并且是这个的初学者。请给点建议!!
Create table computer_inventory
(
assetnumber int(10) not null default “0”,
manufacturer varchar(15) not null default ‘ ‘,
originalcost decimal(12,2) not null default “0”,
currentvalue decimal(12,2) not null default ‘0’,
boughtfrom varchar(20) not null default ‘ ‘,
instock tinyint(1) not null default ‘ ‘,
currentuser varchar(20) not null default ‘ ‘,
userphonenum varchar(13) not null default ‘ ‘,
boughtdate datatime not null default ‘ ‘
);
同样,我是新手,所以可能会有很多错误。
**EDIT:**
Create table computer_inventory (
assetnumber int(10) not null default 0,
manufacturer varchar(15) not null default ‘ ‘,
originalcost decimal(12,2) not null default 0,
currentvalue decimal(12,2) not null default 0,
boughtfrom varchar(20) not null default ‘ ‘,
instock tinyint(1) not null default 0,
currentuser varchar(20) not null default ‘ ‘,
userphonenum varchar(13) not null default ‘ ‘,
boughtdate datetime not null default ‘0000-00=00’
);
我正在使用 MySQL 5.6。错误显示“错误 1064 (42000):您的 SQL 语法有误;请查看与您的 MySQL 服务器版本对应的手册,了解在 ' ' ' 附近使用的正确语法,originalcost decimal(12,2) not null default 0, 当前值十进制(1' at line 2 "
最佳答案
有些地方不对... datetime
拼错了。某些默认值也是该列的错误数据类型。
Create table computer_inventory
(
assetnumber int(10) not null default 0,
manufacturer varchar(15) not null default '',
originalcost decimal(12,2) not null default 0,
currentvalue decimal(12,2) not null default 0,
boughtfrom varchar(20) not null default '',
instock tinyint(1) not null default 0,
currentuser varchar(20) not null default '',
userphonenum varchar(13) not null default '',
boughtdate datetime not null default '0000-00-00'
);
下次遇到此类问题时,您可以这样做:首先尝试只用一两列制作表格,如果这些行没有错误,则删除表格并使用更多专栏。如果出现错误,这将更容易准确地隔离出错误的部分。当我测试这个时,我得到了关于错误默认值和类似东西的错误......例如 instock tinyint(1) not null default ' '
,它不起作用,因为你'重新尝试将空字符串设置为整数列。它不起作用。对于日期时间默认值,我不得不在谷歌上查找以查看合适的空日期值是什么。其中一些也是反复试验,比如删除反引号并用普通引号替换它们。
编辑:这对我来说没有错误...我正在用 sql fiddle 测试它它是为 MySQL 5.5.31 设置的。告诉我你得到的确切错误(除非你告诉我们错误是什么,否则我们无法帮助你,我不可能猜到)以及你使用的数据库及其版本。
这是基于您上面的编辑。您将 0000-00-00'
键入为 0000-00=00'
并且您需要使用普通的单引号而不是反引号(我认为?)。
Create table computer_inventory (
assetnumber int(10) not null default 0,
manufacturer varchar(15) not null default ' ',
originalcost decimal(12,2) not null default 0,
currentvalue decimal(12,2) not null default 0,
boughtfrom varchar(20) not null default ' ',
instock tinyint(1) not null default 0,
currentuser varchar(20) not null default ' ',
userphonenum varchar(13) not null default ' ',
boughtdate datetime not null default '0000-00-00'
);
关于MySQL建表语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19885296/
我是一名优秀的程序员,十分优秀!