我有一个名为引用详情的表格,其中包含一些列
Field Name | Type
------------------------
Quotati_Id | bigint(20)
Fk_Rfq_Id | bigint(20)
Quotati_No | varchar(30)
Parent_Quotati_Id | bigint(20)
Fk_Client_Supplie_Id | int(11)
Is_Client_Supplie | bit(1)
我想插入数据。插入查询在qiven下面
INSERT INTO quotationdetails (
Fk_Rfq_Id,
Quotati_No,
Parent_Quotati_Id,Fk_Client_Supplie_Id,
Is_Client_Supplie
) VALUES (
'15847',
(SELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA='qtn' AND
TABLE_NAME='quotationdetails'),
'15640', '1',
'0')
一切正常,但只有一个问题是错误地插入名为 Is_Client_Supplie 的列。即在 Is_Client_Supplie 列中插入 1 而非 0 。
我错了???
答案 0 :(得分:1)
这是一个位字段,而不是字符串,所以从'0'删除撇号。您可以对Fk_Client_Supplie_Id和其他整数字段执行相同的操作。
bit(3)
(例如b'101'
)可以使用符号{{1}}分配二进制值,但如果分配0则不需要此符号。
答案 1 :(得分:0)
使用
INSERT INTO quotationdetails (
Fk_Rfq_Id,
Quotati_No,
Parent_Quotati_Id,Fk_Client_Supplie_Id,
Is_Client_Supplie
) VALUES (
'15847',
(SELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA='qtn' AND
TABLE_NAME='quotationdetails'),
'15640', '1',
0)
无需'0'
,请改用0
。