我尝试在不同的表中使用不同的列。比如我想让它运行查询If或Where [table。column]
users.username = 'ExampleUsername' AND users.cardnumber = ''
我不认为我可以使用NULL代替",因为它是一个空文本字符串?
users.cardnumber = NULL
无论如何,我不能再这样说了:
INSERT INTO users (cardnumber, hasone)
WHERE users.username = 'ExampleName' AND users.cardnumber = ''
SELECT number, sethasone
FROM cards
WHERE cards.used = '0'
LIMIT 1
我对SQL有点陌生,但在我掌握了它之后,我可以把代码放入我的php脚本中。
- - -解决了!:
我为每列使用了两个查询。
update users
set hasone=(select sethasone from cards where used='0' LIMIT 1)
where username='TestUser'
和
update users
set cardnumber=(select number from cards where used='0' LIMIT 1)
where username='TestUser'
然后我从cards中删除这一行,就完成了。
delete from cards
where used = '1'
LIMIT 1
我为用户提供了卡片表中的卡号,并删除了卡片表中的那一行。
我想你正试图写一个嵌套查询,但你不知道如何写它。如果您想在插入或更新查询中编写选择查询,那么在此之前请点击这里阅读子查询或嵌套查询
嗯,我认为您正在尝试在2个表之间重新创建JOIN。您需要做的是在users表中添加一个"card_id"字段。然后获取用户和卡片你可以这样做:
SELECT * FROM users u LEFT JOIN cards c ON c.id = u.card_id