kullanıcıları tablosu:MYSQL'de Auto-Increment değerini kullanma Trigger Ekleme'den Önce?
CREATE TABLE `users` (
`id` int(8) unsigned NOT NULL AUTO_INCREMENT,
`email` varchar(45) DEFAULT NULL,
`username` varchar(16) DEFAULT NULL,
`salt` varchar(16) DEFAULT NULL,
`password` varchar(128) DEFAULT NULL,
`lastlogin` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`joined` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`loggedin` tinyint(1) unsigned NOT NULL DEFAULT '0',
`sessionkey` varchar(60) DEFAULT NULL,
`verifycode` varchar(16) DEFAULT NULL,
`verified` tinyint(1) unsigned NOT NULL DEFAULT '0',
`banned` tinyint(1) unsigned NOT NULL DEFAULT '0',
`locked` tinyint(1) unsigned NOT NULL DEFAULT '0',
`ip_address` varchar(45) DEFAULT NULL,
`failedattempts` tinyint(1) unsigned NOT NULL DEFAULT '0',
`unlocktime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;
user_records tablosu:
CREATE TABLE `user_records` (
`id` int(8) unsigned NOT NULL AUTO_INCREMENT,
`userid` int(8) unsigned DEFAULT NULL,
`action` varchar(100) DEFAULT NULL,
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;
kullanıcıları masaya ekleme tetik önce:
USE `gknet`;
DELIMITER $$
CREATE DEFINER=`root`@`localhost` TRIGGER `before_create_user` BEFORE INSERT ON `users` FOR EACH ROW BEGIN
INSERT INTO user_records (action, userid, timestamp)
VALUES ('CREATED', ID, NOW());
END
Temelde, benim sorunum burada tetikte olduğunu otomatik olarak MySQL (PK, NN, Auto-Increment) tarafından atanan kullanıcının kimliğini koymaya çalıştığımda, sadece user_records sekmesinde le. Nasıl yapmalıyım ki, kullanıcı SQL tarafından atanan kimliği seçip, kayıt girişinde (ID '' OLDUĞUNDAN sonra ID'nin olduğu yer) userid olarak yerleştirecektir? Eğer masalarda yapılmış olabilir başka optimizasyonlar görürseniz
Ayrıca, bana bildirin çekinmeyin: yerine before insert
ait after insert
için
Teşekkür ederiz! Çok sevinirim ama daha fazla temsilciye ihtiyacım var! –
Çözüm sağladığınız için teşekkür ederiz –