gpt4 book ai didi

MySQL建表语法错误

转载 作者:可可西里 更新时间:2023-11-01 08:48:53 27 4
gpt4 key购买 nike

我有一项家庭作业,正在努力找出我的错误。我正在 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com