Ziel:MySQL einsetzen, wo nicht mit bedingten Anweisung
- Mit nur MySQL, legen Sie sku, Tabellenname, Schnecken-Tabelle, wenn ein sku & Tabellennamen sind nicht nicht bereits festgelegt. Ich habe mehrere Tabellen, die denselben Sku haben können, aber sie sind nicht gleich. Also muss es auf sku + tablename übereinstimmen.
table1 SKU = 123 SKU = 234
table2
SKU = 1234
SKU = 123
SKU = 45234
slugs final result should be like
slugs
sku = 123 , table = table1
sku = 234 , table = table1
sku = 1234, table = table2
sku = 123, table = table2
sku = 45334, table = table2
I need to be able to look up sku's based off of the table name.
Tabellen
CREATE TABLE `slugs` (
`id` bigint(20) NOT NULL,
`slug` varchar(500) default NULL,
`tablename` varchar(129) default NULL,
`sku` varchar(100) default NULL,
`deleteme` tinyint(4) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `tableA` (
`NAME` varchar(160) default NULL COMMENT 'The products name.',
`SKU` varchar(100) NOT NULL default '' COMMENT 'Advertisers unique identifier for the product.',
PRIMARY KEY (`SKU`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Gebrochene MySQL Code
INSERT INTO `slugs` (`sku`, `tablename`)
Select `SKU`, 'tableA'
from `tableA`
where not exists
(SELECT `slugs`.`sku` != `tableA`.`SKU` AND `slugs`.`tablename` != 'tableA');
Es tut mir leid, ich bin ein „Anfänger“ an diesem können Sie geben mir ein Beispiel dafür? Ich kann einige Aspekte der Tabellen ändern, aber nicht die ID in der Slugs-Tabelle. – Brad
'ALTER TABLE \' Schnecken \ 'ADD UNIQUE INDEX (\' sku \ ', \' Tabellenname \ ');' – Neil
Ich bin mir nicht sicher, dass das funktionieren würde. table1 könnte sku = 123 haben und table2 könnte auch sku 123 haben ... – Brad