programing

MySQL 오류 1054:필드 목록의 알 수 없는 열 'curent_timestamp'

prostudy 2022. 9. 11. 15:35
반응형

MySQL 오류 1054:필드 목록의 알 수 없는 열 'curent_timestamp'

나는 다음과 같은 질문을 읽었다.

그리고 구글에서 제안하는 링크도 있습니다.모르겠어요.

제 상황이 이렇습니다.MariaDB 10.0에는 다음과 같이 정의된 inkubator_pinjam이라는 테이블이 있습니다.

CREATE TABLE `inkubator_pinjam` (
    `id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
    `kode_pinjam` VARCHAR(20) NOT NULL DEFAULT '',
    `id_inkubator` BIGINT(20) NOT NULL DEFAULT '0',
    `tgl_pinjam` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `nama_bayi` VARCHAR(75) NOT NULL DEFAULT '',
    `kembar` ENUM('Y','N') NOT NULL DEFAULT 'N',
    `tgl_lahir` DATE NULL DEFAULT NULL,
    `berat_lahir` DECIMAL(10,2) NOT NULL DEFAULT '0.00',
    `panjang_lahir` DECIMAL(10,2) NOT NULL DEFAULT '0.00',
    `kondisi` ENUM('SEHAT','SAKIT') NOT NULL DEFAULT 'SEHAT',
    `rumah_sakit` VARCHAR(50) NOT NULL DEFAULT '',
    `nama_dokter` VARCHAR(75) NOT NULL DEFAULT '',
    `tgl_pulang` DATE NULL DEFAULT NULL,
    `no_kk` VARCHAR(50) NOT NULL DEFAULT '',
    `alamat` TEXT NULL,
    `nama_ibu` VARCHAR(50) NOT NULL DEFAULT '',
    `hp_ibu` VARCHAR(20) NOT NULL DEFAULT '',
    `email_ibu` VARCHAR(50) NOT NULL DEFAULT '',
    `nama_ayah` VARCHAR(50) NOT NULL DEFAULT '',
    `hp_ayah` VARCHAR(20) NOT NULL DEFAULT '',
    `email_ayah` VARCHAR(50) NOT NULL DEFAULT '',
    `jumlah_pinjam` INT(2) NOT NULL DEFAULT '1',
    `status_pinjam` ENUM('Ditunda','Disetujui','Ditolak') NOT NULL DEFAULT 'Ditunda',
    `tgl_update_status_pinjam` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `keterangan_status_pinjam` VARCHAR(200) NOT NULL DEFAULT '',
    `konfirmasi` ENUM('Y','N') NOT NULL DEFAULT 'N',
    PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=MyISAM
AUTO_INCREMENT=2
;

트리거 ON AFTER DELETE 이벤트를 통해 이 작업을 수행합니다.

CREATE DEFINER=`inkubator`@`localhost` TRIGGER `inkubator_pinjam_after_delete` AFTER DELETE ON `inkubator_pinjam` FOR EACH ROW BEGIN
    delete from inkubator_monitoring  where kode_pinjam = OLD.kode_pinjam;
    delete from inkubator_kembali  where kode_pinjam = OLD.kode_pinjam;
END

PHP에서는 PHP 스크립트가 삽입 SQL을 생성하여 테이블에 데이터를 추가합니다.

insert into inkubator_pinjam ( 
        id, kode_pinjam, id_inkubator, tgl_pinjam, 
         nama_bayi, kembar, tgl_lahir, berat_lahir, 
         panjang_lahir, kondisi, rumah_sakit, 
         nama_dokter, tgl_pulang, no_kk, alamat, 
         nama_ibu, hp_ibu, email_ibu, nama_ayah, 
         hp_ayah, email_ayah, jumlah_pinjam, 
         keterangan_status_pinjam, konfirmasi 
) values ( 
        24145550156759089, '323431-343535-39', 0, CURRENT_TIMESTAMP(), 
        'DIAN KHAMSAWARNI', 'N', '2015-09-21', 3.2, 
        28, 'SEHAT', 'RSU Wahidin',
        'Dr. Marhamah, Sp.OG', '2015-09-23', '9288299288', 'BTN Hamzy E8/A', 
        'RINA MAWARNI', '+62837739938845', '', 'ARIFIN ADINEGORO', '+62837739938845', '', 1, 
        'Ditunda untuk review.', 'Y' 
);

여기서 문제가 되는 것은 MariaDB가 계속해서 SQL 오류(1054)를 표시하는 것입니다. 필드 리스트의 알 수 없는 컬럼이 이상하게 느껴집니다.그러나 데이터 삽입은 작동하지만 데이터는 테이블에 존재합니다.데이터 삽입이 가능하기 때문에 큰 문제이지만 MySQL은 오류가 발생했다고 PHP에 보고하고 PHP 스크립트는 실패합니다.

여기에 이미지 설명 입력

위의 스크린샷은 삽입 SQL 스크립트를 실행하고 있는 HeidiSQL에서 가져온 것이므로 PHP에서 문제가 발생하지 않았습니다.

문제는 이 오류를 어떻게 제거할 것인가 하는 것입니다.

입력 오류에 대해 다시 확인했습니다.current_timestamp(이중 'r'자)는curent_timestamp(싱글 'r'), 백틱, 닫히지 않은 단일 따옴표 및 이중 따옴표, 트리거 및 열 기본값을 확인하고 다시 확인합니다.아직 감을 못 잡겠어요.

Google은 힌트가 없기 때문에, 여기에 있는 어떠한 의견도 매우 감사할 것입니다.감사합니다.

마지막 줄에서 세 번째 줄 2개

다음 두 줄을 테스트로 추가하여 주석 문자를 삭제하십시오.

insert into inkubator_pinjam ( 
        id, kode_pinjam, id_inkubator, tgl_pinjam, 
         nama_bayi, kembar, tgl_lahir, berat_lahir, 
         panjang_lahir, kondisi, rumah_sakit, 
         nama_dokter, tgl_pulang, no_kk, alamat, 
         nama_ibu, hp_ibu, email_ibu, nama_ayah, 
         hp_ayah, email_ayah, jumlah_pinjam,
         tgl_update_status_pinjam,      -- <------ ADD THIS HERE ***********
         keterangan_status_pinjam, konfirmasi 
) values ( 
        24145550156759089, '323431-343535-39', 0, CURRENT_TIMESTAMP(), 
        'DIAN KHAMSAWARNI', 'N', '2015-09-21', 3.2, 
        28, 'SEHAT', 'RSU Wahidin',
        'Dr. Marhamah, Sp.OG', '2015-09-23', '9288299288', 'BTN Hamzy E8/A', 
        'RINA MAWARNI', '+62837739938845', '', 'ARIFIN ADINEGORO', '+62837739938845', '', 1, 
        CURRENT_TIMESTAMP(), -- <------ ADD THIS HERE ***********
        'Ditunda untuk review.', 'Y' 
);

언급URL : https://stackoverflow.com/questions/31955534/mysql-error-1054-unknown-column-curent-timestamp-in-field-list

반응형