我想在MySQL数据表中自动生成主键。但是我希望它按顺序成为一个字符串。
实施例: user_id(主键)
USER000001
USER000002
USER000003
USER000004 ....等等..
答案 0 :(得分:-1)
通过单独的排序表和触发器,您可以使用您的格式自动生成PK。
表
CREATE TABLE tableName_seq
(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);
CREATE TABLE tableName
(
id VARCHAR(10) NOT NULL PRIMARY KEY DEFAULT '0', name VARCHAR(30)
);
现在是触发器
DELIMITER $$
CREATE TRIGGER tg_table_insert
BEFORE INSERT ON tableName
FOR EACH ROW
BEGIN
INSERT INTO tableName_seq VALUES (NULL);
SET NEW.id = CONCAT('USER', LPAD(LAST_INSERT_ID(), 6, '0'));
END$$
DELIMITER ;
然后你只需要在表中插入行
INSERT INTO tableName (name)
VALUES ('Jhon'), ('Mark');
你会有
| ID | NAME |
------------------
| USER000001 | Jhon |
| USER000002 | Mark |
答案 1 :(得分:-1)
如果您使用的是领域:
fun newIdByTime(): Long {
val id = System.currentTimeMillis()
val realm = RealmManager.getNewInstance()
val number = realm.where(Note::class.java)
.equalTo("id",id)
.findFirst()
if (number!=null) {while(id ==System.currentTimeMillis()){}}
return System.currentTimeMillis()
}