我想在 tm_matrix 上触发以下查询,但给了我以下错误
mysql> INSERT INTO tm_matrix (VDT,VID)VALUES(replace(left(now(),10),'-',''),(SE
LECT CASE WHEN MAX(VID) IS NULL THEN 000001 ELSE (MAX(VID)+1) END AS VID FROM tm
_matrix));
ERROR 1093 (HY000): 您不能在 FROM 子句中指定目标表 'tm_matrix' 进行更新
如果我在查询下触发然后给我以下错误
mysql> INSERT INTO tm_visitor (VDT,VID)VALUES(replace(left(now(),10),'-',''),SEL
ECT CASE WHEN MAX(VID) IS NULL THEN 000001 ELSE (MAX(VID)+1) END AS VID FROM tm_
visitor);
ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“SELEC T CASE WHEN MAX(VID) IS NULL THEN 000001 ELSE (MAX(VID)+1) END AS VID FROM”附近使用正确的语法
如果我使用以下查询,那么它会给我以下错误
mysql> INSERT INTO tm_visitor (VDT,VID)VALUES(replace(left(now(),10),'-',''),(SE
LECT CASE WHEN MAX(VID) IS NULL THEN 000001 ELSE (MAX(VID)+1) END AS VID));
错误 1054 (42S22):“字段列表”中的未知列“VID”
更新
我试过以下
INSERT INTO tm_visitor (VDT,VID,NAME,CONTACT) SELECT REPLACE(LEFT(NOW(), 10), '-', ''), LPAD(COALESCE(MAX(VID) + 1, 000001),6,'0') FROM tm_visitor
那么在这里我如何传递 NAME,CONTACT 的值,因为这里我们没有使用 values() 来插入