我正在用visual编写程序来使用数据库来制作PC构建器类型的程序。当我尝试将数据插入PROCESSORS
表时,出现以下错误:
ERROR:
列名或提供的值数与表定义不匹配。
由于我的其他插页工作正常,我不知道这个插件有什么问题。
DROP TABLE PROCESSORS
DROP TABLE MOTHERBOARDS
DROP TABLE SOCKET_TYPE
DROP TABLE STORE;
CREATE TABLE PROCESSORS (
PRODCUT_ID VARCHAR(20) PRIMARY KEY,
BRAND VARCHAR(6) NOT NULL,
CORES INTEGER NOT NULL,
SPEED DECIMAL NOT NULL,
INTEGRATED_GPU VARCHAR(40) NOT NULL);
CREATE TABLE STORE(
STORE_ID VARCHAR(20) PRIMARY KEY,
PRODUCT_ID VARCHAR(20) NOT NULL,
PRODUCT_NAME VARCHAR(50) NOT NULL,
STORE VARCHAR(30) NOT NULL,
PRICE INTEGER NOT NULL);
/*Newegg Product I7-4470*/
INSERT INTO PROCESSORS VALUES('BX80646I74770','Intel',4,3.4,'None');
INSERT INTO STORE VALUES('N82E16819116900','BX80646I74770','Intel Core I7-4470 Haswell','Newegg',309.99);
答案 0 :(得分:3)
您似乎在STORE Price列中输入了一个十进制的小数:)
编辑:注意到该列的DECIMAL类型缺少强制语法,例如: DECIMAL(2,2)。根据{{3}},默认情况下,未提供的是DECIMAL(10,0),它基本上是10位整数。为DECIMAL数据类型提供精确的参数,以允许添加带小数位的正确数字,这将解决INSERT问题。