首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >我想检查所有具有相应给定值(C_name)的客户名值

我想检查所有具有相应给定值(C_name)的客户名值
EN

Stack Overflow用户
提问于 2017-06-28 11:28:11
回答 1查看 60关注 0票数 0

在我的脚本中,客户名称在for loop.please修复我的问题中没有正确比较。{ #!/bin/bash

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo " --- Enter the Database name ---"
read databasename

echo " --- enter the table name --- "
read table_name



sqlite3 $databasename.db "DROP TABLE IF EXISTS $table_name;"


sqlite3 $databasename.db  "CREATE TABLE IF NOT EXISTS $table_name(cus_id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE,cus_name TEXT NOT NULL UNIQUE ,cus_domain TEXT UNIQUE, cus_status TEXT NOT NULL,Port INTEGER NOT NULL);"


echo " --- Enter the total number of customer records do you want ---"
read cus_count


echo "--- Enter the following details one by one---"

port_num=8080
declare -a customer

for((i=1;i<=cus_count;i++))
do

echo "enter the $i customer details"

echo "---Enter the customer name---"
read c_name


customer=$(sqlite3 $databasename.db "select cus_name from $table_name;")



for cus in "${customer[@]}"
do

c_domain="$c_name"

if [[ "$c_name" != "$customer" ]]

then
    echo "---Enter the Status(Active/Inactive)---"
    read c_status

if [[ "$port_num" == "$port_num" ]]; then
       port_num=$(($port_num + 1))

sqlite3 $databasename.db "BEGIN TRANSACTION;INSERT OR IGNORE INTO $table_name(cus_name,cus_domain,cus_status, Port) VALUES(\"$c_name\",\"${c_domain,,}.in\",\"$c_status\",\"$port_num\") ;COMMIT;" 

fi

else
    echo "!!!OOPS, you entered customer name already available!!!"
    echo "---Please enter new customer name---"

i=$(($i - 1))

fi
done
done

echo " --- Records from the $table_name ---"

sqlite3 $databasename.db "select * from $table_name;"}

输出1:

邮箱: mahendranatarajan@amachu-Inspiron-3558:~$ ./new2.sh

-输入数据库名称

演示

-输入表名

demo_table

-输入您想要的客户记录总数

3.

-逐一输入以下详细信息

输入1个客户详细信息

-输入客户名称

ABC

-输入状态(Active/Inactive)

活动的

输入2个客户详细信息

-输入客户名称

ABC

!您输入的客户名称已经可用!

-请输入新客户名称

输入2个客户详细信息

-输入客户名称

BCD

-输入状态(Active/Inactive)

活动的

输入3个客户详细信息

-输入客户名称

ABC

-输入状态(Active/Inactive)

活动的

-来自demo_table的记录

1|ABC|abc.in|Active|8081

2|BCD|bcd.in|Active|8082

邮箱: mahendranatarajan@amachu-Inspiron-3558:~$

在这里,我给出了第一个值为"ABC“,第二个值为"ABC”,然后它正确地显示了警告消息。但是在下面的输出中,我给出了第一个值为"ABC“,第二个值为"BCD”,然后第三个值为"ABC“,但是我不能得到警告消息,我能为这个问题做些什么吗? properly.what?

输出2:

邮箱: mahendranatarajan@amachu-Inspiron-3558:~$ ./new2.sh

-输入数据库名称

演示

-输入表名

demo_table

-输入您想要的客户记录总数

3.

-逐一输入以下详细信息

输入1个客户详细信息

-输入客户名称

ABC

-输入状态(Active/Inactive)

活动的

输入2个客户详细信息

-输入客户名称

BCD

-输入状态(Active/Inactive)

活动的

输入3个客户详细信息

-输入客户名称

ABC

-输入状态(Active/Inactive)

活动的

-来自demo_table的记录

1|ABC|abc.in|Active|8081

2|BCD|bcd.in|Active|8082

邮箱: mahendranatarajan@amachu-Inspiron-3558:~$

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-28 13:00:02

您的循环的问题在于查询"select cus_name from $table_name;"。这是选择表中的所有cus_name并填充数组。在上面的示例中,当您在输入第二个客户之后再次提供第一个客户名称时,您的查询将获取以下结果

++ 'select cus_name from demo_table' + customer='ABC BCD'这就是你的if条件失败的原因

+ [[ ABC != \A\B\C\\B\C\D ]]

要解决您的问题,请将您的查询更改为

"select cus_name from $table_name where cus_name like '$c_name';")

这将检查数据库中是否存在该客户,以及该客户是否存在,并将返回客户名称。如果ABC存在,那么它将返回ABC,您的if条件将正常工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44801144

复制
相关文章
php数组中模糊查询给定的值
第一种:查询给定的值索引不变 /** * 在数组中模糊搜索给定的值 * @param $data * @param $keyword * @return array */ function searchArr($data,$keyword){ $arr = array(); foreach($data as $key=>$values ){ if (strstr( $values , $keyword ) !== false ){ $arr
素描
2019/09/19
6.4K0
计算给定多项式在给定点X处的值
//计算多项式求值 解答:多项式系数可以用数组来存储; POW 函数 原型:在TC2.0中原型为extern float pow(float x, float y); , 而在VC6.0中原型为double pow( double x, double y ); 头文件:math.h/cmath(C++中) 功能:计算x的y次幂。 返回值:x不能为负数且y为小数,或者x为0且y小于等于0,返回幂指数的结果。 返回类型:double型,int,float会给与警告! //计算多项式求值 f(x,n)=x-x^2
互联网金融打杂
2018/04/03
8710
如何修改自增列值以及相应的解决方法
今天工作中遇到特殊的一个任务,就是将两个自增列值的进行对调变更。 SQL Server 平台修改自增列值 由于之前处理过sql server数据库的迁移工作,尝试过其自增列值的变更,但是通过SQL 语句修改自增列值,是严格不允许的,直接报错(无法更新标识列 ’自增列名称‘)。sql server我测试是2008、2012和2014,都不允许变更自增列值,我相信SQL Server 2005+的环境均不允许变更字段列值。 如果非要在SQL Server 平台修改自增列值的,那就手动需要自增列属性,然后修改该列
逸鹏
2018/04/11
3.6K0
如何修改自增列值以及相应的解决方法
jQuery 隐藏具有指定class属性值的元素
代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>前端</title> <style> .antzone{ width:200px; height:100px; background:#ccc; } </style> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script> $(document).ready(func
IT工作者
2022/02/17
5K0
《手撕链表题系列-1》删除链表中等于给定值 val 的所有节点
前言 本系列主要讲解链表的经典题 注:划重点!!必考~ 删除链表中等于给定值 val 的所有节点 力扣链接:203. 移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 示例: 提示: 列表中的节点数目在范围 [0, 104] 内 1 <= Node.val <= 50 0 <= val <= 50 解题思路: 这里我们选择使用尾插法,遍历链表把不是val的节点给尾插到一个新的链表上
用户9645905
2022/11/30
3520
《手撕链表题系列-1》删除链表中等于给定值 val 的所有节点
geotools获取给定点的DEM高程值
1、在web端绘制一条曲线; 2、获取各节点处的高程值; 3、根据高程值绘制高程堆积图。
牛老师讲GIS
2018/10/23
1.4K0
geotools获取给定点的DEM高程值
CA1008:枚举应具有零值
非中断 - 如果系统提示你向无标志枚举添加 None 值。 中断 - 如果系统提示你重命名或删除任何枚举值。
用户4268038
2022/01/10
5150
CA1069:枚举不得具有重复值
每个枚举成员都应具有唯一的常数值,或者为其显式分配枚举中的前一个成员以指示共享值的明确意图。 例如:
用户4268038
2022/01/11
6370
检查约束与默认值约束
检查约束(CHECK Constraint)是一种用于限制列中允许的值的约束。使用检查约束可以确保列中的值满足一定的条件。在MySQL中,检查约束是使用CHECK关键字来创建的。
堕落飞鸟
2023/05/11
1.1K0
算法--二分查找--查找给定条件的值
例如:4,5,6,7,1,2,3 循环数组性质:以数组中间点为分区,数组分成一个有序数组和一个循环有序数组。
Michael阿明
2021/02/20
1.2K0
算法--二分查找--查找给定条件的值
LeetCode 1325. 删除给定值的叶子节点(递归)
给你一棵以 root 为根的二叉树和一个整数 target ,请你删除所有值为 target 的 叶子节点 。
Michael阿明
2020/07/13
9930
键码值(keyCode)对照表,js通过判断点击键码的值,可以做出相应控制
通过了解各个按键的键码值,可以更好的在工作中使用javascript去实现这些功能,比较常用的是F12、ctrl+c 和 ctrl+v 等按键的键码值,通过处理这些键码值,可以达到禁用复制粘贴等功能的效果。 实际应用中,也可以判断左右箭头实现文章上下篇的切换等实用功能 字母和数字键的键码值(keyCode) 按键 键码 按键 键码 按键 键码 按键 键码 A 65 J 74 S 83 1 49 B 66 K 75 T 84 2 50 C 67 L 76 U 85 3 51 D 68 M 77 V 86 4
小唐同学.
2022/02/28
3.4K0
正则表达式–检查颜色值
<script language="JavaScript"> function checkColor(object) {  var pattern = /^#[0-9a-fA-F]{6}$/  var obj = eval("document.all['" + object + "'].value") ;  if(obj.match(pattern)==null)   alert("错误") ;  else   alert("正确") ; } </script>
Java架构师必看
2021/03/22
7100
PHP 类型判断和NULL,空值检查
 PHP是一种宽松类型的编程语言,在函数中对传入的参数值的“类型”以及”值是否为空或者NULL“进行检查是不可缺少的步骤。
lin_zone
2018/08/15
3.4K0
React技巧之具有空对象初始值的useState
原文链接:https://bobbyhadz.com/blog/react-typescript-usestate-empty-object[1]
chuckQu
2022/08/19
1.4K0
Excel实战技巧:基于单元格的值显示相应的图片
选择零件号,显示相应的零件图;选择员工姓名,显示该员工相片,等等,都是选择单元格中的值而显示相应的图片的例子,也就是说基于单元格的值查找并显示对应的图片,单元格的值改变,图片也自动改变。效果如下图1所示。
fanjy
2023/02/24
9.6K0
Excel实战技巧:基于单元格的值显示相应的图片
React技巧之设置具有默认值的可选props
原文链接:https://bobbyhadz.com/blog/react-optional-props-typescript[1]
chuckQu
2022/08/19
1.3K0
如何对矩阵中的所有值进行比较?
需求相对比较明确,就是在矩阵中显示的值,需要进行整体比较,而不是单个字段值直接进行的比较。如图1所示,确认矩阵中最大值或者最小值。
逍遥之
2020/05/14
7.8K0
Java 8 开始新增的 Optional 类 - 检查 Optional 的值
当我们使用 Optional 对象的时候,我们可以使用 isPresent() 方法来检查返回的 Optional 对象中是否有值。
HoneyMoose
2022/05/17
5610
Java 8 开始新增的 Optional 类 - 检查 Optional 的值
牛客网 旋转数组的最小值
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。
2019/02/25
6470

相似问题

我想对照值和嵌套查询检查用户名。

10

检查具有给定值的单选按钮的值

42

我想检查给定objectGUID的密码

11

选择所有具有给定值的键

11

Pandas:获取具有多个相应值的所有ids

225
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文