0
當我插入一個新行時,自動增量ID將被保存爲1,2,3 .. 我需要使用觸發器對其進行自定義,以便將其保存像20171,20172,20173 ..MySQL-Update插入自動增量主鍵到自定義值
當我插入一個新行時,自動增量ID將被保存爲1,2,3 .. 我需要使用觸發器對其進行自定義,以便將其保存像20171,20172,20173 ..MySQL-Update插入自動增量主鍵到自定義值
此觸發器會執行此操作。
CREATE DEFINER=`root`@`%` TRIGGER `test_before_insert` BEFORE INSERT ON `test` FOR EACH ROW BEGIN
SET NEW.id = (
SELECT CONCAT(YEAR(CURDATE()),IFNULL(MAX(CAST(ids.id AS UNSIGNED))+1,1))
FROM (
SELECT RIGHT(t.id,LENGTH(t.id)-4) AS id
FROM test t
WHERE LEFT(t.id,4) = YEAR(CURDATE())
) ids
);
END
但是有很多理由你不願意。隨着插入行,這將會成倍地增加,並且不提供可行的排序等。
非常感謝,我會在到達辦公室時儘快進行測試 –
似乎很奇怪,但確定。你想要在該系列中的第10個價值是什麼,201710? –
感謝您的評論。 可以成爲2017257 :) –
我想讓它變得像2017 + the_old_id –