ID列设置为主键,自动增量。
我想要第二列项目编号,是否可以在SQL中设置这样的内容?或者我该怎么做?
ID:1 projectnumber:Project001
ID:2 projectnumber:Project002
ID:n projectnumber:Project00n
答案 0 :(得分:0)
你可以用两种方式做到这一点:
使用触发器或从数据库中检索记录时执行此操作:
触发:插入后
CREATE TRIGGER `yourtable_after_insert` AFTER INSERT ON `yourtable` FOR EACH ROW BEGIN
UPDATE yourtable
SET projectnumber = CONCAT('project', NEW.id)
WHERE id = NEW.id;
END;
或 只是在你的选择查询中做那个CONCAT的事情,甚至在php的逻辑中做得更好。考虑您想要翻译您的应用程序的可能性。你也会存储重复的信息......
如下所述:NEW.id不起作用。 所以请改用LAST_INSERT_ID():
CREATE TRIGGER `yourtable_after_insert` AFTER INSERT ON `yourtable`
FOR EACH ROW BEGIN
UPDATE yourtable
SET projectnumber = CONCAT('project', LAST_INSERT_ID())
WHERE id = LAST_INSERT_ID();
END;
但仍然是:它会重复内容