gpt4 book ai didi

mysql - 创建一个有算术溢出错误的表

转载 作者:行者123 更新时间:2023-11-30 21:58:58 25 4
gpt4 key购买 nike

所以我正在制作一个表,其属性中的数据类型为 char、decimal 和 date。我收到了一些算术溢出错误的结果。想知道你是否可以帮助我学习创建这张表。谢谢 :D

Create table JOB (JOB_CODE char (3), JOB_DESCRIPTION char(25), JOB_CHG_HOUR decimal (4,2), JOB_LAST_UPDATE date)

Insert into JOB (JOB_CODE, JOB_DESCRIPTION, JOB_CHG_HOUR , JOB_LAST_UPDATE )
Values (500, 'Progammer', 35.75, '26-Nov-09'),
(501, 'Systems Analyst', 96.75, '20-Nov-09'),
(502, 'Database Designer', 125.00, '24-Mar-10'),
(503, 'Electrical Engineer', 84.50, '20-Nov-09'),
(504, 'Mechanical Engineer', 67.90, '20-Nov-09'),
(505, 'Civil Engineer', 55.78, '20-Nov-09'),
(506, 'Clerical Support', 26.87, '20-Nov-09'),
(507, 'DSS Analyst', 45.95, '20-Nov-09'),
(508, 'Application Designer', 48.10, '24-Mar-10'),
(509, 'Bio Technician', 34.55, '20-Nov-09'),
(510, 'General Support', 18.36, '20-Nov-09')

这是准确的消息结果:

Msg 8115, Level 16, State 8, Line 1 Arithmetic overflow error converting numeric to data type numeric. The statement has been terminated.

最佳答案

您的字段 JOB_CHG_HOUR 只能包含 4 位数字,有两位小数,因此最多为 99,99。您正在尝试插入包含 125,00 作为 JOB_CHG_HOUR 值的行。这就是为什么您溢出(超出容量)该字段的原因。考虑将您的创建语句更改为:

CREATE TABLE JOB
(
JOB_CODE CHAR(3),
JOB_DESCRIPTION CHAR(25),
JOB_CHG_HOUR DECIMAL(5,2), --will now hold up to 999,99
JOB_LAST_UPDATE DATE
);

另外,根据您的建表语句,字段JOB_CODE 的类型为CHAR(3),因此您的插入语句中需要引号。

INSERT INTO JOB (JOB_CODE, JOB_DESCRIPTION, JOB_CHG_HOUR , JOB_LAST_UPDATE)
VALUES('500', 'Programmer', 35.75, '26-Nov-09');

不要忘记语句末尾的分号 ;!

关于mysql - 创建一个有算术溢出错误的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44082509/

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