2016-09-24 13 views
0

ユーザーレコード用の小さなデータベースがあります。新しいユーザーを挿入すると、IDが自動生成されるので、次のSQLスクリプトを使用して、データベース:MySql列数が行1の値と一致しませんが、すべての値が入力されます

CREATE TABLE `members` (
    `idmembers` int(11) NOT NULL AUTO_INCREMENT, 
    `username` varchar(145) DEFAULT NULL, 
    `password` varchar(545) DEFAULT NULL, 
    `clearance` int(5) DEFAULT NULL, 
    `profilepic` text, 
    `createdby` varchar(45) DEFAULT NULL, 
    `friends` varchar(545) DEFAULT NULL, 
    PRIMARY KEY (`idmembers`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

をし、次のトリガ:私は挿入したいしかし

CREATE DEFINER=`root`@`localhost` TRIGGER `fuhrergroup`.`members_BEFORE_INSERT` BEFORE INSERT ON `members` FOR EACH ROW 
BEGIN 
INSERT INTO members VALUES (NULL); 
SET NEW.idmembers = CONCAT('F', LPAD(LAST_INSERT_ID(), 3, '0')); 
END 

INSERT INTO fuhrergroup.members (idmembers, username, password, clearance, profilepic, createdby, friends) VALUES (NULL, 'admin', 'secret', '5', 'aa', 'System', '') 

私は常に取得: エラーコード:

INSERT INTO members VALUES (NULL); 

:1136列数は

グーグルは本当に

+0

MySQLはあなたがやりたいことができます 'AUTO_INCREMENT'フィールドを持っている...のhttp:// DEV。 mysql.com/doc/refman/5.7/en/example-auto-increment.html –

+0

私は既にAUTO_INCREMENTを持っていますが、データを挿入することはできません –

答えて

1

あなたのトリガが正しくないクエリを持って助けにはならなかった1行目で値数と一致していませんあなたはNULLになるために持っているどの列MySQLを教えてください:

INSERT INTO members (columnname) VALUES (NULL); 
+0

編集:nvm、私はこの回答を使って修正しました:http://stackoverflow.com/questions/15300673/mysql-error-cant-update-table-in-stored-function-trigg-because-it-is-already –

関連する問題