MYSQL XDEVAPI 多重或 (II) 请求
MYSQL XDEVAPI Multiple OR (II) Request
我正在使用 XDEVAPI 并尝试在 javascript 中使用 or(||) 语句,但它似乎在 1 个 or/(||) 语句后中断,我有 5 个不同的状态我正在尝试从数据库中提取:
.select(['customer_name',
'account_status',
])
.where('customer_name like :customer_name && account_status like :account_status || account_status like :account_status || account_status like :account_status')
.bind('customer_name', customer_name)
.bind('account_status', 'Some_Status_1')
.bind('account_status','Some_Status_2')
.bind('account_status', 'Some_Status_3')
.execute()
我可以使用 REGEXP 'Some_Status_1'|Some_Status_2'|等等?
如果是,语法是什么?
或者我还缺少另一种方法。
感谢您提供的任何帮助。
我不认为这个问题与 OR
本身有关,而是与您使用重复的占位符这一事实有关。 CRUD 样式 API 使用命名参数,如 here 所述。通过多次调用 bind('account_status', 'something')
,您只需替换 account_status
占位符的最后一个值。
为了做你想做的事(我认为),你需要使用不同的占位符名称。例如:
.select(['customer_name', 'account_status'])
.where('customer_name like :customer_name && account_status like :account_status1 || account_status like :account_status2 || account_status like :account_status3')
.bind('customer_name', customer_name)
.bind('account_status1', 'Some_Status_1')
.bind('account_status2', 'Some_Status_2')
.bind('account_status3', 'Some_Status_3')
.execute()
免责声明:我是 MySQL X DevAPI 连接器的首席开发人员 Node.js
我正在使用 XDEVAPI 并尝试在 javascript 中使用 or(||) 语句,但它似乎在 1 个 or/(||) 语句后中断,我有 5 个不同的状态我正在尝试从数据库中提取:
.select(['customer_name',
'account_status',
])
.where('customer_name like :customer_name && account_status like :account_status || account_status like :account_status || account_status like :account_status')
.bind('customer_name', customer_name)
.bind('account_status', 'Some_Status_1')
.bind('account_status','Some_Status_2')
.bind('account_status', 'Some_Status_3')
.execute()
我可以使用 REGEXP 'Some_Status_1'|Some_Status_2'|等等?
如果是,语法是什么?
或者我还缺少另一种方法。
感谢您提供的任何帮助。
我不认为这个问题与 OR
本身有关,而是与您使用重复的占位符这一事实有关。 CRUD 样式 API 使用命名参数,如 here 所述。通过多次调用 bind('account_status', 'something')
,您只需替换 account_status
占位符的最后一个值。
为了做你想做的事(我认为),你需要使用不同的占位符名称。例如:
.select(['customer_name', 'account_status'])
.where('customer_name like :customer_name && account_status like :account_status1 || account_status like :account_status2 || account_status like :account_status3')
.bind('customer_name', customer_name)
.bind('account_status1', 'Some_Status_1')
.bind('account_status2', 'Some_Status_2')
.bind('account_status3', 'Some_Status_3')
.execute()
免责声明:我是 MySQL X DevAPI 连接器的首席开发人员 Node.js