我有 2 张桌子:
cities(city_id|Serial, city_name|Text, state_id|Integer)
states(state_id|Serial, state_name|Text)
我想在“PortBlair”中插入一行cities
,city_name
并state_id
从states
where中获取对应的行state_name="Andaman"
。
我的查询:
INSERT INTO cities (city_name,state_id)
VALUES ('PortBlair',select state_id from states where state_name='Andaman')
MySQL 中的错误:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select state_id from states where state_name='Andaman')' at line 1
问题1:这个说法有什么问题?我错过了一些引号/反引号/撇号吗?
问题2:如果插入语句的顺序相同,我是否应该依赖Serial
数据类型,它总是会生成相同的 Id?我的意思是,我应该把state_id
自己写成:
INSERT INTO cities (city_name,state_id) VALUES ('PortBlair',1)