sql >> データベース >  >> RDS >> Mysql

INSERT INTOでの#1064エラー

    更新 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 指定されたデータベースエンジンに関係なく、値を自動インクリメントフィールドに挿入できます。



    1. データベースのディスク容量の計画

    2. DataTableのOracleDataAdapterを使用して、レコードを更新し、Oracleテーブルに挿入します

    3. MySQLのパーティショニングと結合

    4. PDOプリペアドステートメントのキャッシュ