Hallo zusammen, ich habe den ganzen Tag versucht, eindeutige 13 Nummern für vorhandene Produkte in meiner Datenbank zu generieren. Jedes Produkt muss einen EAN13-Barcode haben. Ich habe viele Beispiele im Internet ausprobiert, aber keines davon hat mir gute Ergebnisse gebracht. Hat jemand eine Lösung für dieses Problem?
Ich habe es versucht, aber nichts hat funktioniert
select cast( (@n := (13*@n + 100) % 899999999981)+1e12 as char(15)) as num from (select @n := floor(rand() * 10e14) ) init, (select 1 union select 2) m01, (select 1 union select 2) m02, (select 1 union select 2) m03, (select 1 union select 2) m04, (select 1 union select 2) m05, (select 1 union select 2) m06, (select 1 union select 2) m07, (select 1 union select 2) m08, (select 1 union select 2) m09, (select 1 union select 2) m10, (select 1 union select 2) m11, (select 1 union select 2) m12, (select 1 union select 2) m13, (select 1 union select 2) m14, (select 1 union select 2) m15, (select 1 union select 2) m16, (select 1 union select 2) m17, (select 1 union select 2) m18, (select 1 union select 2) m19, (select 1 union select 2) m20, (select 1 union select 2) m21, (select 1 union select 2) m22 limit 5;
Wie kann ich jetzt alle 12000 Zeilen in einer vorhandenen Tabelle mit dem obigen Code aktualisieren? Ich versuche UPDATE, erhalte jedoch eine Fehlermeldung, wenn ich versuche, UPDATE und CAST zu mischen
Die Produkttabellenstruktur ist:
productid INT(11) productName Varchar(225) barcode INT(13)
更新条形码。创建一个新表,然后将值插入到新表中,然后使用新表更新现有表使用的更新。
创建表查询:-
要插入的值:-
更新查询:-