我正在使用从QuickBooks文件导入MySQL的数据库。由于QB数据库的设计,我有一个看起来像这样的字段,但有不同的字段:
First Name: Sammi
Last Name: Fernandez
DOB: 1997
Hair: Black
在一个字段中。任务是将这些分成子字段,并UPDATE
将表格放在各自的列中。
SELECT
声明效果很好:
SELECT
TRIM(
SUBSTR(description,
LOCATE("First Name:", description) + LENGTH("First Name:"),
LOCATE("Last Name:", description) - (LOCATE("First Name:", description) + LENGTH("First Name:"))))
AS FirstName,
...
FROM [table];
但是当我尝试UPDATE
表时,
UPDATE [table] SET FirstName =
TRIM(
SUBSTR(description,
LOCATE("First Name:", description) + LENGTH("First Name:"),
LOCATE("Last Name:", description) - (LOCATE("First Name:", description) + LENGTH("First Name:")))),
...
WHERE 1;
我得到的是
0 rows affected
这意味着它没有真正设置好吗?
答案 0 :(得分:1)
你是对的,它没有更新任何东西。更新中的WHERE 1
阻止它匹配任何行,因此不会更新任何行。删除此内容,它应该更新表格中 所有 记录的FirstName
字段 - 如果您只想更新,请使用WHERE
一些行。