Цель:
- Используя только MySQL, вставьте sku, tablename, slugs table, если sku & name таблицы еще не установлены. У меня есть несколько таблиц, которые могут иметь один и тот же sku, но они не одинаковы. Так что это должно совпадать по sku + tablename.
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.
таблицы
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;
Сломанный код MySQL
INSERT INTO `slugs` (`sku`, `tablename`)
Select `SKU`, 'tableA'
from `tableA`
where not exists
(SELECT `slugs`.`sku` != `tableA`.`SKU` AND `slugs`.`tablename` != 'tableA');