programing

테이블 가져오기 및 생성과 관련된 sql

powerit 2023. 8. 21. 21:41
반응형

테이블 가져오기 및 생성과 관련된 sql

xampp의 htdocs 폴더에서 SQL을 가져오는 중이지만 식별할 수 없는 오류로 인해 이 테이블이 실행되지 않습니다.

CREATE TABLE `product_list` (
  `id` int(30) NOT NULL,
  `vendor_id` int(30) DEFAULT NULL,
  `category_id` int(30) DEFAULT NULL,
  `name` text NOT NULL,
  `description` text NOT NULL,
  `price` double NOT NULL DEFAULT 0,
  `image_path` text DEFAULT NOT NULL,
  `status` tinyint(1) NOT NULL DEFAULT 1,
  `delete_flag` tinyint(1) NOT NULL DEFAULT 0,
  `date_created` datetime NOT NULL DEFAULT current_timestamp(),
  `date_updated` datetime DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

상태 줄에 주석을 달아 플래그를 삭제하려고 했는데 테이블이 성공적으로 생성되었지만 프로젝트에서 중요하기 때문에 제거할 수 없습니다.

오류는 다음과 같습니다.

#1064 - SQL 구문에 오류가 있습니다. 줄 8의 'NOT NULL, 'status' 부울 NOT NULL DEFAULT 1, 'delete_flag' 부울 NO...' 근처에서 사용할 올바른 구문은 MariaDB 서버 버전에 해당하는 설명서에서 확인하십시오.

image_path열에 다음이 있습니다.default아무 가치도 없는 키워드, 당신이 보았듯이, 그것은 잘못된 것입니다.

하지만,text열에는 기본값이 있을 수 없으므로 이 키워드를 삭제해야 합니다.이 테이블에 행을 삽입할 때 다음을 입력해야 합니다.image_path값을 입력하지 않으면 삽입 문이 실패하고 다음 오류가 발생합니다.

CREATE TABLE `product_list` (
  `id` int(30) NOT NULL,
  `vendor_id` int(30) DEFAULT NULL,
  `category_id` int(30) DEFAULT NULL,
  `name` text NOT NULL,
  `description` text NOT NULL,
  `price` double NOT NULL DEFAULT 0,
  `image_path` text NOT NULL, -- Note that the "default" keyword was removed
  `status` tinyint(1) NOT NULL DEFAULT 1,
  `delete_flag` tinyint(1) NOT NULL DEFAULT 0,
  `date_created` datetime NOT NULL DEFAULT current_timestamp(),
  `date_updated` datetime DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

언급URL : https://stackoverflow.com/questions/76373122/sql-related-in-importation-and-creation-of-tables

반응형