例如,我有一个变量 $num = 123;
和另一个名为“$name=joe;”的变量,并且有一个数据库,其中包含一个名为“data”的表,该表内有两列 (num [type=varchar(255)] - name[type=varchar(255)]) 。
例如,这些查询存在于数据库中:
号码 = 123456,姓名 = 乔
如何检查前“3”个数字是否等于 $num 变量且名称是否等于变量 $name ?
我尝试过,但没有成功:
从数据中选择 * 其中 SUBSTRING(num , 0 , 3) = '123' AND name = 'joe'
最佳答案
在 MySQL 中,子字符串索引从 1 开始:
WHERE SUBSTRING(num , 1 , 3) = '123' AND name = 'joe'
但是 LEFT()
或 LIKE
会更常用:
WHERE LEFT(num , 3) = '123' AND name = 'joe'
WHERE num = '123%' AND name = 'joe'
LIKE
的优点是它可以利用索引。 。 。甚至是 (name, num)
上的一个。
关于mysql - 如何检查变量是否等于数据库表中某一列的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47042510/