programing

#1064 - SQL 구문에 오류가 있습니다.MariaDB 서버 버전에 대응하는 매뉴얼에서 사용하는 올바른 구문을 확인해 주십시오.근접적인 이유는 무엇입니까?

minecode 2022. 10. 21. 21:33
반응형

#1064 - SQL 구문에 오류가 있습니다.MariaDB 서버 버전에 대응하는 매뉴얼에서 사용하는 올바른 구문을 확인해 주십시오.근접적인 이유는 무엇입니까?

CREATE table sign_up(
    firstname varchar(150),
    lastname varchar(150),
    birthdate date,
    tel int(8),
    cin int(8) PRIMARY,
    email varchar(150) PRIMARY,
    motdepass varchar(10) PRIMARY);

MariaDB:

#1064 - SQL 구문에 오류가 있습니다.MariaDB 서버 버전에 대응하는 매뉴얼에서 6행의 'email varchar(150) PRIMAY, motdepass varchar(10) PRIMAY' 근처에서 사용할 올바른 구문을 확인하십시오.

mysql의 다중 컬럼프라이머리 키의 올바른 구문은 다음과 같습니다.

CREATE table sign_up(
    firstname varchar(150),
    lastname varchar(150),
    birthdate date,
    tel int(8),
    cin int(8),
    email varchar(150),
    motdepass varchar(10),
    PRIMARY KEY(cin, email, motdepass)
    )
    ;

다른 한편으로, 만약 당신이 찾고 있는 것이cin기본 키로 사용하지만email그리고.motdepass다음과 같은 특징이 있습니다.

CREATE table sign_up(
    firstname varchar(150),
    lastname varchar(150),
    birthdate date,
    tel int(8),
    cin int(8) primary key,
    email varchar(150) unique,
    motdepass varchar(10) unique
    )
    ;

단, 강제적으로motdepass(사용자 패스워드를 저장하는 장소입니다)unique만약 악의적인 의도를 가진 사용자가 당신의 어플리케이션에서 계정을 생성하려고 했을 때, 앱이 오류를 발생시킨다면, 다른 모든 것이 맞다면, 그 사용자는 다른 누군가가 이미 같은 비밀번호를 사용했다는 것을 알게 될 것이다.

CREATE TABLE IF NOT EXISTS `sign_up`(
    'firstname' varchar(150),
    'lastname' varchar(150),
    'birthdate' date,
    'tel' int(8),
    PRIMARY KEY 'cin' int(8) ,
    KEY 'email' varchar(150),
    KEY 'motdepass' varchar(10));

둘 이상의 기본 키를 가질 수 없습니다.동일한 문제를 확인할 수 있습니다. Microsoft SQL 테이블에 둘 이상의 기본 키를 가질 수 있습니까?

언급URL : https://stackoverflow.com/questions/70549973/1064-you-have-an-error-in-your-sql-syntax-check-the-manual-that-corresponds

반응형