programing

다른 열의 정보에서 날짜를 계산하는 MySQL/MariaDB에 생성된 열을 추가하려면 어떻게 해야 합니까?

stoneblock 2023. 7. 3. 22:32

다른 열의 정보에서 날짜를 계산하는 MySQL/MariaDB에 생성된 열을 추가하려면 어떻게 해야 합니까?

MariaDB(MySQL과 동일한 구문 지원)를 사용하여 생성된 열을 추가하는 방법을 이해하고 간단한 산술 연산을 사용하여 이 표를 사용하여 추가했습니다.그러나 DATE_SUB 함수를 사용하려고 하면 구문 오류가 발생합니다.

SQL Error [1064] [42000]: (conn=28594) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WEEKS)) STORED' at line 3

사용 중인 코드는 다음과 같습니다.

ALTER TABLE `ExampleTable`
ADD COLUMN `DOB` DATE
AS (DATE_SUB (`DateExpected`, INTERVAL `Age` WEEKS)) STORED; 

DateExpected 및 Age 값에서 DOB를 계산하고 싶습니다.

CREATE TABLE에서 다음을 수행합니다.

  `DateExpected` date DEFAULT NULL,
  `Age` int(11) DEFAULT NULL,

다음으로 대체:

AS (DATE_SUB('1998-01-02', INTERVAL 31 DAY) STORED; 

유사한 오류가 표시됩니다.

SQL Error [1064] [42000]: (conn=28594) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'STORED' at line 3

하지만 다음으로 대체:

AS (`DateExpected`) STORED; 

DateExpected의 값으로 DOB 열을 채우는 데는 문제가 없습니다. 따라서 DATE_SUB 문과 관련이 있을 것입니다.

할 수 있는 일:

ALTER TABLE `ExampleTable`
    ADD COLUMN `DOB` DATE
    AS (`DateExpected` - INTERVAL `Age` WEEK) STORED; 

언급URL : https://stackoverflow.com/questions/65343446/how-can-i-add-a-generated-column-in-mysql-mariadb-that-will-caculate-a-date-from