我有一项家庭作业,正在努力找出我的错误。我正在 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/
我脑子里浮现出一些关于一种新编程语言的想法,所以我想我会尝试实现它。一位friend建议我尝试使用Treetop(Rubygem)来创建一个解析器。Treetop的文档很少,我以前从未做过这种事情。我的解析器表现得好像有一个无限循环,但没有堆栈跟踪;事实证明很难追踪到。有人可以指出入门级解析/AST指南的方向吗?我真的需要一些列出规则、常见用法等的东西来使用像Treetop这样的工具。我的语法分析器在GitHub上,以防有人希望帮助我改进它。class{initialize=lambda(name){receiver.name=name}greet=lambda{IO.puts("He
大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje
所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择
我遵循MichaelHartl的“RubyonRails教程:学习Web开发”,并创建了检查用户名和电子邮件长度有效性的测试(名称最多50个字符,电子邮件最多255个字符)。test/helpers/application_helper_test.rb的内容是:require'test_helper'classApplicationHelperTest在运行bundleexecraketest时,所有测试都通过了,但我看到以下消息在最后被标记为错误:ERROR["test_full_title_helper",ApplicationHelperTest,1.820016791]test
我是rails的新手,想在form字段上应用验证。myviewsnew.html.erb.....模拟.rbclassSimulation{:in=>1..25,:message=>'Therowmustbebetween1and25'}end模拟Controller.rbclassSimulationsController我想检查模型类中row字段的整数范围,如果不在范围内则返回错误信息。我可以检查上面代码的范围,但无法返回错误消息提前致谢 最佳答案 关键是您使用的是模型表单,一种显示ActiveRecord模型实例属性的表单。c
我正在尝试编写一个将文件上传到AWS并公开该文件的Ruby脚本。我做了以下事情:s3=Aws::S3::Resource.new(credentials:Aws::Credentials.new(KEY,SECRET),region:'us-west-2')obj=s3.bucket('stg-db').object('key')obj.upload_file(filename)这似乎工作正常,除了该文件不是公开可用的,而且我无法获得它的公共(public)URL。但是当我登录到S3时,我可以正常查看我的文件。为了使其公开可用,我将最后一行更改为obj.upload_file(file
我克隆了一个rails仓库,我现在正尝试捆绑安装背景:OSXElCapitanruby2.2.3p173(2015-08-18修订版51636)[x86_64-darwin15]rails-v在您的Gemfile中列出的或native可用的任何gem源中找不到gem'pg(>=0)ruby'。运行bundleinstall以安装缺少的gem。bundleinstallFetchinggemmetadatafromhttps://rubygems.org/............Fetchingversionmetadatafromhttps://rubygems.org/...Fe
在Cooper的书BeginningRuby中,第166页有一个我无法重现的示例。classSongincludeComparableattr_accessor:lengthdef(other)@lengthother.lengthenddefinitialize(song_name,length)@song_name=song_name@length=lengthendenda=Song.new('Rockaroundtheclock',143)b=Song.new('BohemianRhapsody',544)c=Song.new('MinuteWaltz',60)a.betwee
我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie
在Ruby类中,我重写了三个方法,并且在每个方法中,我基本上做同样的事情:classExampleClassdefconfirmation_required?is_allowed&&superenddefpostpone_email_change?is_allowed&&superenddefreconfirmation_required?is_allowed&&superendend有更简洁的语法吗?如何缩短代码? 最佳答案 如何使用别名?classExampleClassdefconfirmation_required?is_a