본문 바로가기
MySql

MySQL (MySQL) SQL 오류 : 오류 1054 (42S22) : 'field list'의 알 수없는 열 '<Column Name>'

by 베이스 공부 2021. 1. 20.
반응형

내가 여기서 뭘 잘못하고 있는지 잘 모르겠습니다.

mysql> use co_sysdev;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select * from system_params;
Empty set (0.01 sec)

mysql> INSERT INTO system_params (NUM_ENGINE_D_PROCESSES,MAX_NUM_BATCHES_PER_CLIENT,MAX_NUM_BATCHES_PER_LOCATION) VALUES(5,8,2);
ERROR 1054 (42S22): Unknown column 'NUM_ENGINE_D_PROCESSES' in 'field list'
mysql> 

또한:

 desc system_params;
+-----------+----------------------------------------------------------------------------------------------------+------+-----+---------+-------+
| Field     | Type                                                                                               | Null | Key | Default | Extra |
+-----------+----------------------------------------------------------------------------------------------------+------+-----+---------+-------+
| attribute | enum('NUM_ENGINE_D_PROCESSES','MAX_NUM_BATCHES_PER_CLIENT','MAX_NUM_BATCHES_PER_LOCATION') | NO   | PRI | NULL    |       |
| value     | varchar(256)                                                                                       | NO   |     | NULL    |       |
+-----------+----------------------------------------------------------------------------------------------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

또한:

 show create table system_params;
+---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table         | Create Table                                                                                                                                                                                                                                                  |
+---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| system_params | CREATE TABLE `system_params` (
  `attribute` enum('NUM_ENGINE_D_PROCESSES','MAX_NUM_BATCHES_PER_CLIENT','MAX_NUM_BATCHES_PER_LOCATION') NOT NULL,
  `value` varchar(256) NOT NULL,
  PRIMARY KEY (`attribute`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

 

해결 방법

 

열거 형 값을 필드 이름으로 사용할 수 없습니다. 삽입물은 다음과 같아야합니다.

INSERT INTO system_params (attribute, value) VALUES ('NUM_ENGINE_D_PROCESSES', 'foo');

여기에 삽입 할 수있는 가능한 값이 제한되지 않는 한 (예 : 최종 사용자 정의 가능) 매우 고통스러운 경로를 따라 가게됩니다.

 

참조 페이지 https://stackoverflow.com/questions/13422890

 

 

반응형

댓글