database - Mysql error 1054 in When statement -
doing inventory migration new schema. old schema had 1 table, new schema has 2 , foreign key linking types of assets. problem foreign key part. can't seem foreign key post on asset table. have logic figured out, i'm running issue migration hits 1054 error on column should exist. part throwing error " select case when (asset.category " bit.
alter table `foreignkeytest`.`asset` add column `category` varchar(255) null after `parent_asset_id_asset_id`, add column `subcategory` varchar(255) null after `category`, add column `brand` varchar(255) null after `subcategory`, add column `model` varchar(255) null after `brand`; alter table `foreignkeytest`.`asset_type`; alter table `inventory`.`inv`; insert ignore `foreignkeytest`.`asset` (asset_id, category, subcategory, location, serial_number, brand, model, purchase_date, glacct, barcode_attached) select id, category, subcategory, location, serialnumber, brand, itemtype, from_unixtime(purchasedate), glacct, barcode `inventory`.`inv`; insert ignore `foreignkeytest`.`asset_type` (category, subcategory, brand, model) select category, subcategory, brand, itemtype `inventory`.`inv`; insert `foreignkeytest`.`asset` (asset_type_id) select case when (`asset`.`category` = `asset_type`.`category` , `asset`.`subcategory` = `asset_type`.`subcategory` , `asset`.`brand` = `asset_type`.`brand` , `asset`.`model` = `asset_type`.`brand`) 1 else 0 end type_id `foreignkeytest`.`asset_type`; alter table `foreignkeytest`.`asset` drop column `category`, drop column `subcategory`, drop column `brand`, drop column `model`; any reason why wouldn't working?
edit: fix issue wasn't referencing asset table select. second last line changed to:
type_id `foreignkeytest`.`asset_type`, `foreignkeytest`.`asset`;
you referring asset table selecting foreignkeytest
case column wrongs try select asset
insert `foreignkeytest`.`asset` (asset_type_id) select case when (`asset`.`category` = `asset_type`.`category` , `asset`.`subcategory` = `asset_type`.`subcategory` , `asset`.`brand` = `asset_type`.`brand` , `asset`.`model` = `asset_type`.`brand`) 1 else 0 end type_id `asset`.`asset_type`;
Comments
Post a Comment