SQL新手问题:
我有一个子表'输出',它有两个值:
CREATE TABLE Outputs (
sub_id char(13) NOT NULL,
output varchar(255),
output_id smallint UNSIGNED NOT NULL AUTO_INCREMENT,
PRIMARY KEY (output_id)
);
输出是一个路径字符串,例如:
/full/path/to/output/client_xxx/client_xxx_final_output.txt
我想从文件加载数据,或手动插入练习。
sub_id是' client_XXX'这是路径的一部分,并将永远 是这样的。所以我想从路径中获取sub_id。
我在示例中看到了用于子句的SET子句和用户参数,但我迷路了 试图获取子字符串(使用正确的函数?)并获取所有 对于初学者来说,正确顺序的SQL命令很难。
干杯!
编辑:
我不太清楚我的最终目标是什么。
我想做这样的事情:
INSERT INTO TABLE Outputs (sub_id, output) VALUES
% SET @path_string = foobar, then substring command
我很抱歉,我仍然对SQL语法不知所措。
答案 0 :(得分:0)
如果它始终是倒数第二个元素:
select substring_index(substring_index(output, '/', -2), '/', 1)
如果只是以"客户"在某个地方,你也可以使用字符串操作。以上更简单,所以我将从那里开始。
编辑:
如果数据已经在表格中,那么您需要update
:
update outputs o
set sub_id = substring_index(substring_index(output, '/', -2), '/', 1);