mysql> insert into oee (ID_NO,S_NO,START_TIME,END_TIME,PASSFAIL) VALUES (67,85,345643,345633,P);
ERROR 1054 (42S22): Unknown column 'P' in 'field list'
如果输入整数而不是字符,则上述命令有效。 见:
mysql> insert into oee (ID_NO,S_NO,START_TIME,END_TIME,PASSFAIL) VALUES (67,85,345643,345633,43);
Query OK, 1 row affected (0.02 sec)
mysql> select * from oee;
+-------+------+------------+----------+----------+
| ID_NO | S_NO | START_TIME | END_TIME | PASSFAIL |
+-------+------+------------+----------+----------+
| 16 | 1233 | 00:23:23 | 00:01:23 | 2323 |
| 23 | 35 | 00:00:43 | 00:02:34 | 234 |
| 67 | 85 | 34:56:43 | 34:56:33 | 43 |
+-------+------+------------+----------+----------+
3 rows in set (0.00 sec)
所以我检查了列的数据类型是否为整数,并发现数据类型没有问题。 以下是我发现的数据类型:
mysql> SELECT DATA_TYPE
-> FROM INFORMATION_SCHEMA.COLUMNS
-> WHERE
-> TABLE_NAME = 'OEE' AND COLUMN_NAME = 'PASSFAIL';
+-----------+
| DATA_TYPE |
+-----------+
| char |
+-----------+
1 row in set (0.00 sec)
错误信息是:
ERROR 1054(42S22):“字段列表”中的未知列“P”
出了什么问题?
答案 0 :(得分:0)
我不是SQL的专家,但由于该列的类型为char,因此可以尝试在值周围加上引号。
insert into oee (ID_NO,S_NO,START_TIME,END_TIME,PASSFAIL) VALUES (67,85,345643,345633,'P');
答案 1 :(得分:0)
在P
周围加上单引号。如果要插入字符,则必须将它们放入单引号中。
在:
insert into oee (ID_NO,S_NO,START_TIME,END_TIME,PASSFAIL) VALUES (67,85,345643,345633,P);
后:
insert into oee (ID_NO,S_NO,START_TIME,END_TIME,PASSFAIL) VALUES (67,85,345643,345633,'P');
答案 2 :(得分:0)
在这里,当您将数据插入表格时,您使用了p而不是'P'。 如果没有变量你声明为P,则不能使用P作为插入查询。 这就是为什么你可以插入43作为数据。 如果要将P插入表中,请使用以下查询。
insert into oee (ID_NO,S_NO,START_TIME,END_TIME,PASSFAIL) VALUES (67,85,345643,345633,'P');