更新 OPで構文エラーが発生する理由は、パスワード列の宣言に続いてコンマが省略されているためです。
CREATE TABLE IF NOT EXISTS `terrier`.`admin` (
`adminId` int(11) NOT NULL auto_increment,
`userName` varchar(50) NOT NULL,
`password` varchar(50) NOT NULL <-- should be a comma here
PRIMARY KEY (`adminId`))
自動インクリメントフィールドへの挿入に関する注意
自動インクリメントフィールドadminId
に挿入しようとしています 。その値を指定しないでください。MySQLが自動的に処理します。
INSERT INTO admin (`userName`, `password`) VALUES ('wardens', 'Bega&1120');
INSERT
に値を明示的に配置する場合 自動インクリメントフィールドのクエリでは、フィールドをNOT NULL
に指定することに基づいて、3つの選択肢があります。 -''
、0
、またはNULL
。 これがリファレンスです。
。
INSERT INTO admin (`adminId`, `userName`, `password`) VALUES ('', 'wardens', 'Bega&1120');
INSERT INTO admin (`adminId`, `userName`, `password`) VALUES (0, 'wardens', 'Bega&1120');
INSERT INTO admin (`adminId`, `userName`, `password`) VALUES (NULL, 'wardens', 'Bega&1120');
更新 さらにテストすると(@eggyalによって提案されたように)、 any 指定されたデータベースエンジンに関係なく、値を自動インクリメントフィールドに挿入できます。